1

我有一个无序列表,我想使用以下代码将其包装在 jQuery 中的另一个无序列表中:

$('ul.innerlist').prepend('<ul><li>');
$('ul.innerlist').append('</li></ul>');

但是,不是第一行创建开始标签,第二行创建结束标签(并包装.innerlist),而是第一行似乎同时创建了打开和关闭标签,导致这个

<ul>
  <li></li>
</ul>
<ul class="innerlist">
  <li></li>
</ul>

而不是这个:

<ul>
  <li>
    <ul class="innerlist">
      <li></li>
    </ul>
  </li>
</ul>
4

3 回答 3

4

这使用jQuery 的wrap()方法将所选元素与您提供的元素一起包装。

示例:http: //jsfiddle.net/patrick_dw/bD8LQ/

$('ul.innerlist').wrap('<ul><li></li></ul>');
于 2010-12-07T01:01:55.553 回答
2

http://api.jquery.com/wrap/

于 2010-12-07T01:02:11.557 回答
0

尝试以下操作:

$('ul.innerlist').each(function(i,v){v=$('<ul><li></li></ul>').append(v);});

wrap功能。

于 2010-12-07T01:03:11.230 回答