使用jQuery将HTML标记附加到Class

时间:2011-01-09 14:25:51

标签: jquery html css

我想添加<ul></ul>标记而不是类<div class='box'></div>我以这种方式使用appendTo()

$('<ul>').appendTo('.box');

但我明白了:

<div class="box"><li>You did not enter your first name</li><ul></ul></div>

我应该得到:左

<div class="box"><ul><li>You did not enter your first name</li></ul></div>

4 个答案:

答案 0 :(得分:2)

如果li已经在div中(这将是无效的HTML):

$('.box li').wrapAll('<ul></ul>');

应该工作。

如果在追加li后添加了ul

$('<li />').text('whatever').appendTo('.box ul');

您使用append()的事实表明li已经存在,这看起来有点奇怪。

API参考:

  • wrapAll()
  • appendTo(),解释为什么追加会在ul 之后插入li ,这似乎让您感到惊讶。

答案 1 :(得分:0)

appendTo只需在容器底部添加元素,就像您发布的代码一样。你想要的东西似乎更像是

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

答案 2 :(得分:0)

使用wrapAll

$('.box>li').wrapAll('<ul/>');

答案 3 :(得分:0)

您正在寻找:

$('.box').wrapInner("<ul />");`

http://api.jquery.com/wrapInner/