0

我想问一个关于 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"?

谢谢!

4

7 回答 7

5

利用wrap()

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

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


作为旁注:使用 $('.sub')而不是 $('ul.sub')因为更有效。见http://jsperf.com/jquery-class-vs-element-class

在此处输入图像描述

于 2013-07-05T10:16:12.673 回答
2

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

于 2013-07-05T10:15:55.610 回答
2
$('ul.sub').wrap('<div class="hello">');
于 2013-07-05T10:16:10.437 回答
0
$('li.ft').html('<div class="hello">'+$('li.ft').html()+'</div>');
于 2013-07-05T10:19:36.807 回答
0

使用前置

$('.ft').prepend('<div class="hello"><ul class="sub"><li></li></ul></div>');
于 2013-07-05T10:25:52.930 回答
-1

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

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

因此,在您的 jquery 中,您可以简单地执行以下操作:

jquery("#someid").addclass("hello");

希望这可以帮助...:)

于 2013-07-05T10:26:33.833 回答
-3
$('li.ft').find('div').addClass('hello');
于 2013-07-05T10:14:38.063 回答