如何将 div 分离并添加到没有唯一 ID 的父 div

How to detach and prependTo a div to a parent div that does not have a unique ID

正在使用分离和前置将子元素从 DIV (h4) 移动到它的父元素 DIV(树上的两个 DIV)。我的代码正在运行,但它获取了页面上此 DIV 的每个实例,并将页面上的所有多个 DIV 添加到每个父级 DIV 的顶部。

jQuery( function($){
$('.mp_m_blurb_1 h4.et_pb_module_header').detach().prependTo('.mp_m_blurb_1 .et_pb_blurb_content');
});

我意识到在具有多个 DIV 相同 ID/class 元素的页面上,这就是将要发生的事情。那么我如何告诉子元素移动到另一个父元素 DIV 但仅相对于其父元素,而不必为每个子元素手动添加唯一 ID。

在某些页面上可能有 10-15 个以上的父级 DIV,我不想为每个父级都添加一个唯一的 ID,然后更新我的 jQuery。

我希望能够使用一个 class。有没有更好的方法或方法?

尝试了这些资源,但没有帮助

Move a div somewhere else in the dom

How to move an element into another element?

Get class name using jQuery

jQuery: appendTo parent

https://www.elated.com/jquery-removing-replacing-moving-elements/

下面是有效的代码,但如您所见,这将变得冗长乏味。 ;-)

jQuery( function($){
$('#mp_blurb_0 h4.et_pb_module_header').detach().prependTo('#mp_blurb_0 .et_pb_blurb_content');
$('#mp_blurb_1 h4.et_pb_module_header').detach().prependTo('#mp_blurb_1 .et_pb_blurb_content');
$('#mp_blurb_2 h4.et_pb_module_header').detach().prependTo('#mp_blurb_2 .et_pb_blurb_content');
$('#mp_blurb_3 h4.et_pb_module_header').detach().prependTo('#mp_blurb_3 .et_pb_blurb_content');
$('#mp_blurb_4 h4.et_pb_module_header').detach().prependTo('#mp_blurb_4 .et_pb_blurb_content');
$('#mp_blurb_5 h4.et_pb_module_header').detach().prependTo('#mp_blurb_5 .et_pb_blurb_content');
    });

您可以组合使用 jQuery's .each() method and the attribute starts with select 或

使用 $('[id^="mp_blurb_"]') 将 select 所有 ID 以 mp_blurp_ 开头的元素。

$('[id^="mp_blurb_"]').each(function() {
    var $this = $(this);
    var $content = $this.find('.et_pb_blurb_content');
    $this.find('h4.et_pb_module_header').detach().prependTo( $content );
});

在这里查看我的工作示例:https://jsfiddle.net/z8of7qxp/