我有一大堆HTML,我正在使用简单的jQuery选择器检索,如下所示:
<div id="stuff">
<ul>
<li>some</li>
<li class="ninja">stuff</li>
</ul>
</div>
我基本上在做:
var myblock = $("#stuff").html();
现在我想在li列表的底部注入一个额外的li元素,其属性与上面的li非常相似,但我想将类忍者更改为类武士。
使用jQuery实现这一目标的最佳方式是什么?
答案 0 :(得分:1)
只需选择<ul>
并将<li>
附加到
$("#stuff ul").append('<li class="samurai">stuff</li>');
如果您确实想要复制最后一个<li>
元素,请更改该类然后添加到列表中,然后您可以执行类似这样的操作
var ul = $("#stuff ul");
ul.append(ul.find('li:last').clone().removeClass().addClass("samurai"));
如果您还想复制事件处理程序,请将true
传递给clone()
。
获取一大块HTML,更改元素然后重新插入的问题是,在重新插入HTML时将被替换的元素上设置的任何事件处理程序都将丢失,因此它更优雅/且不那么繁琐/简单地操纵你需要的DOM部分。