所以我有以下结构:
<h3>I.</h3>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<ol>
<li>1.</li>
<li>2.</li>
<li>3.</li>
</ol>
<p>Some text</p>
<h3>II.</h3>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<p>Some text</p>
<ol>
<li>1.</li>
<li>2.</li>
<li>3.</li>
</ol>
<h3>III</h3>
etc
我想以这种方式添加div元素:
<h3>I.</h3>
<div>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<ol>
<li>1.</li>
<li>2.</li>
<li>3.</li>
</ol>
<p>Some text</p>
</div>
<h3>II.</h3>
<div>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<p>Some text</p>
<ol>
<li>1.</li>
<li>2.</li>
<li>3.</li>
</ol>
</div>
<h3>III</h3>
etc
我设法弄清楚如何将元素提升到下一个h3
,但后来我被卡住了。
var elements = $("h3").nextUntil("h3");
elements.wrapAll("<div>");
答案 0 :(得分:5)
由于有多个h3
元素,您需要循环它们并在循环中使用nextUntil()
:
$('h3').each(function() {
$(this).nextUntil('h3').wrapAll('<div />');
});
答案 1 :(得分:0)
$('h3').each(function() {
$(this).nextUntil('h3').wrapAll('</div>');
});
请试试这个。