jquery :not(:first-child) wrapAll() 每个 div
jquery :not(:first-child) wrapAll() each div
我想 select div 中除第一个元素之外的所有元素与那个 class。
当前 HTML:
<div class="cpt-cv-content-item">
<a>...</a>
<h4>...</h4>
...
</div>
<div class="cpt-cv-content-item">
<a>...</a>
<h4>...</h4>
...
</div>
我试过使用 wrap all:
$(".pt-cv-content-item :not(:first-child)").wrapAll( "<div class='new'></div>" );
此函数 select 正确地除第一个元素之外的所有元素,但将所有元素移至第一个 div。
我想要这样:
<div class="cpt-cv-content-item">
<a>...</a>
<div class='new'>
<h4>...</h4>
...
</div>
</div>
<div class="cpt-cv-content-item">
<a>...</a>
<div class='new'>
<h4>...</h4>
...
</div>
</div>
很遗憾,我无法编辑 html。
提前谢谢你
使用 wrap
而不是 wrapAll
。
$(".pt-cv-content-item :not(:first-child)").wrap( "<div class='new'></div>" );
Description: Wrap an HTML structure around each element in the set of matched elements.
Description: Wrap an HTML structure around all elements in the set of matched elements.
包装整个内容,然后将 .new
中的第一个 child 移动到主要 div。
使用wrapInner()
to wrap all the children. Use prependTo()
将元素移动到元素的开头。
$(".cpt-cv-content-item").wrapInner($("<div class='new'>"));
$('div.new').each(function(){
$(this).children().first().prependTo($(this).closest(".cpt-cv-content-item"));
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div class="cpt-cv-content-item">
<a>...</a>
<h4>...</h4>
...
</div>
<div class="cpt-cv-content-item">
<a>...</a>
<h4>...</h4>
...
</div>
我选择了“.pt-cv-content-item”中的所有元素:
$(".pt-cv-content-item ").wrapInner( "<div class='new'></div>" );
我移出了“.pt-cv-content-item”中的第一个 href div
$(".new a:first-child").each(function() {
$(this).parent().before(this);
});
谢谢大家
我想 select div 中除第一个元素之外的所有元素与那个 class。
当前 HTML:
<div class="cpt-cv-content-item">
<a>...</a>
<h4>...</h4>
...
</div>
<div class="cpt-cv-content-item">
<a>...</a>
<h4>...</h4>
...
</div>
我试过使用 wrap all:
$(".pt-cv-content-item :not(:first-child)").wrapAll( "<div class='new'></div>" );
此函数 select 正确地除第一个元素之外的所有元素,但将所有元素移至第一个 div。
我想要这样:
<div class="cpt-cv-content-item">
<a>...</a>
<div class='new'>
<h4>...</h4>
...
</div>
</div>
<div class="cpt-cv-content-item">
<a>...</a>
<div class='new'>
<h4>...</h4>
...
</div>
</div>
很遗憾,我无法编辑 html。 提前谢谢你
使用 wrap
而不是 wrapAll
。
$(".pt-cv-content-item :not(:first-child)").wrap( "<div class='new'></div>" );
Description: Wrap an HTML structure around each element in the set of matched elements.
Description: Wrap an HTML structure around all elements in the set of matched elements.
包装整个内容,然后将 .new
中的第一个 child 移动到主要 div。
使用wrapInner()
to wrap all the children. Use prependTo()
将元素移动到元素的开头。
$(".cpt-cv-content-item").wrapInner($("<div class='new'>"));
$('div.new').each(function(){
$(this).children().first().prependTo($(this).closest(".cpt-cv-content-item"));
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div class="cpt-cv-content-item">
<a>...</a>
<h4>...</h4>
...
</div>
<div class="cpt-cv-content-item">
<a>...</a>
<h4>...</h4>
...
</div>
我选择了“.pt-cv-content-item”中的所有元素:
$(".pt-cv-content-item ").wrapInner( "<div class='new'></div>" );
我移出了“.pt-cv-content-item”中的第一个 href div
$(".new a:first-child").each(function() {
$(this).parent().before(this);
});
谢谢大家