通过jQuery添加div元素之前和之后

时间:2013-07-05 10:13:36

标签: jquery

我想问一个关于jQuery的愚蠢问题。如果我有:

<ul>
  <li class="ft">
   <ul class="sub"><li></li></ul>
  </li>
</ul>

我想成为:

<ul>
  <li class="ft">
   <div class="hello"><ul class="sub"><li></li></ul></div>
  </li>
</ul>

如何通过jQuery添加div class =“hello”?

谢谢!

7 个答案:

答案 0 :(得分:5)

使用wrap()

$('.sub').wrap('<div class="hello" />');

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


作为旁注:使用$('.sub')代替$('ul.sub'),因为效率更高。见http://jsperf.com/jquery-class-vs-element-class

enter image description here

答案 1 :(得分:2)

$('.sub').wrap('<div class="hello" />');

答案 2 :(得分:2)

$('ul.sub').wrap('<div class="hello">');

答案 3 :(得分:0)

$('li.ft').html('<div class="hello">'+$('li.ft').html()+'</div>');

答案 4 :(得分:0)

使用前置

$('.ft').prepend('<div class="hello"><ul class="sub"><li></li></ul></div>');

答案 5 :(得分:-1)

有很多方法可以在jquery中实现这一点。其中一些涉及你使用DOM遍历在你想要添加之前到达元素并使用jquery来添加它... jquery对这种父,子,sibbling等遍历有广泛的支持......

但最简单的方法是在html标记中手动添加元素,并使用jquery以编程方式添加类属性...

所以在你的jquery中你可以简单地做类似的事情:

的jquery( “#someid”)addclass( “你好”);

希望这有助于......:)

答案 6 :(得分:-3)

$('li.ft').find('div').addClass('hello');