如何将<ul>包装在另一个<ul>?</ul> </ul>中

时间:2010-12-07 00:59:57

标签: javascript jquery append html-lists prepend

我有一个无序列表,我想在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>

3 个答案:

答案 0 :(得分:4)

这使用jQuery's wrap() method用您提供的元素包装所选元素。

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

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

答案 1 :(得分:2)

答案 2 :(得分:0)

尝试以下方法:

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

wrap功能。