2

我正在尝试获取一组标题和列表,并单独包含它们,以便我可以设置它们的样式。IE:

<h2>Title 1</h2>
<ul>
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
</ul>
<h2>Title 2</h2>
<ul>
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
</ul>

我尝试使用.before()and在标签之前.after添加一个,并在每次之后关闭它,但是我发现 jquery 会自动清理并关闭标签。所以我猜我需要使用只是不确定如何将标题和列表组合在一起。divh2ulwrap()

4

2 回答 2

4

利用

$('h2').each(function(){
   var self = $(this);
   self.add( self.next() ).wrapAll('<div/>');
});

演示在http://jsfiddle.net/gaby/e4f9h/

于 2012-11-15T21:32:00.597 回答
0

您想要创建一个包含这两个元素的 jQuery 集合。为此,您将选择 h2 元素。您将需要找到next()一个 ul 元素。将它们链接起来后,您将wrapAll()使用包含的 div。

$("h2").each( function(){
   var h2 = $(this);
   h2.add(h2.next("ul")).wrapAll('<div class="madWrapper"></div>');             
});​​​​​​

jsFiddle

于 2012-11-15T21:33:29.247 回答