Jquery 使用多个容器依次插入元素
我有以下HTML:Jquery 使用多个容器依次插入元素,jquery,Jquery,我有以下HTML: <div class="div one"> <div class="text">One</div> <svg>object</svg> </div> <div class="div two"> <div class="text">two</div> <svg>object</svg> </div> <div class=
<div class="div one">
<div class="text">One</div>
<svg>object</svg>
</div>
<div class="div two">
<div class="text">two</div>
<svg>object</svg>
</div>
<div class="div three">
<div class="text">three</div>
<svg>object</svg>
</div>
但结果是:
我假设每个元素都选择其div中的每个元素,而不是所有元素,并在目标元素之后重复它们。您可以这样做。append函数始终将元素放置在包装元素的最后一个位置:
$('.three').append($(this));
你可以这样做。append函数始终将元素放置在包装元素的最后一个位置:
$('.three').append($(this));
您需要循环遍历每个.div,如下所示:
$('.div').each(function() {
$(this).find('.text').detach().insertAfter($(this).find('svg'));
});
并将其从原始位置分离,然后插入该特定div的svg之后。因此,您需要找到带有$this的svg
您需要循环遍历每个.div,如下所示:
$('.div').each(function() {
$(this).find('.text').detach().insertAfter($(this).find('svg'));
});
并将其从原始位置分离,然后插入该特定div的svg之后。因此,您需要找到带有$this的svg
我想你想要
$'.div.text'.eachfunction{
$this.insertAfter$this.next;
//或者$this.next.afterthis;
};
.文本{
字体:粗体21px/2em Arial
}
svg{
背景:bbb;
宽度:100px;
高度:100px;
}
一
对象
二
对象
三
对象
我想你想要
$'.div.text'.eachfunction{
$this.insertAfter$this.next;
//或者$this.next.afterthis;
};
.文本{
字体:粗体21px/2em Arial
}
svg{
背景:bbb;
宽度:100px;
高度:100px;
}
一
对象
二
对象
三
对象
您需要找到当前.div.text元素的同级svg元素,并在其后插入。试试这个:
$('.div .text').each(function() {
$(this).siblings('svg').after(this);
});
您需要找到当前.div.text元素的同级svg元素,并在其后插入。试试这个:
$('.div .text').each(function() {
$(this).siblings('svg').after(this);
});
如果我是对的,如果要删除.text元素并将其放在svg元素之后,请使用以下命令:
$('.div .text').each(function() {
// get the closest parent and find its child(svg)
var target = $(this).closest('.div').find('svg');
// insert after svg(.text)
$(this).insertAfter(target);
});
更新了如果我是对的,如果要删除.text元素并将其放在svg元素之后,请使用以下命令:
$('.div .text').each(function() {
// get the closest parent and find its child(svg)
var target = $(this).closest('.div').find('svg');
// insert after svg(.text)
$(this).insertAfter(target);
});
更新谢谢,这是最简单的,我就是这样更新的:谢谢,这是最简单的,我就是这样更新的:是的,append是更好的解决方案。Thanks@Kareem很高兴我能帮忙。好的,所以大家都知道它是正确的,投票给它并标记为solion:是的,append是更好的解决方案。Thanks@Kareem很高兴我能帮忙。好的,大家都知道这是正确的,投票表决并标记为Solion: