[英]How to wrap various elements in a div tag with jQuery?
我有一個看起來像這樣的html結構:
<h5>Title</h5>
<p> Content </p>
<ul>
<li>Item</li>
<li>Item</li>
</ul>
<p> Content </p>
<h5>Title</h5>
<p> Content </p>
<ul>
<li>Item</li>
<li>Item</li>
</ul>
<p> Content </p>
總而言之,它只是一些包含在它們下面的內容的標題,我只需要在div中的標題標記下方的所有內容,如下所示:
<h5>Title</h5>
<div>
<p> Content </p>
<ul>
<li>Item</li>
<li>Item</li>
</ul>
<p> Content </p>
</div>
我已經嘗試過使用jQuery的.wrap
函數,但沒有運氣,因為標題標簽下面可以有多個類型元素,我發現這個問題: jQuery包裝div中的元素集非常相似但是不能適應它成為我需要的,任何人都可以幫助我嗎?
提前致謝!
做這個:
$(document).ready(function () {
$('h5').each(function () {
$(this).nextUntil('h5').wrapAll('<div class="box"></div>');
})
})
你可以試試這個:
$(function() {
$('h5').each(function(i, e) {
$(e).nextUntil('h5').wrapAll('<div>');
});
});
嘗試這個
var $div;
$("h5").each(function(){
$div = $("<div />");
if($(this).nextAll("h5").length){
$(this).after($div.append($(this).nextUntil("h5")));
}
else{
$(this).after($div.append($(this).siblings()));
}
});
我會在h5之后在頁面中粘貼div,然后手動將元素插入其中。
假設一切都在內部,例如body標簽(未經測試!):
<body>
<h5>Title</h5>
<p> Content </p>
<ul>
<li>Item</li>
<li>Item</li>
</ul>
<p> Content </p>
</body>
var children = $(document.body).children(),
$child
$div;
for(var x = 0, child; child = children[x++];) {
$child = $(child);
if($child.is('h5')) {
$div = $('<div></div>').after($child);
} else {
$child.appendTo($div);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.