用jquery替换

时间:2012-06-02 03:10:12

标签: jquery replacewith

我有像这样的ajax调用生成的列表

<ul id="list">
   <li name="A">some val</li>
   <li name="B">some val</li>
   <li name="C">some val</li>
</ul>

使用setinterval,相同的ajax调用将创建一个像这样的列表

<ul id="listClone">
  <li name="A">some new val</li>
  <li name="B">some cccc val</li>
  <li name="C">some ddd val</li>
</ul>

获得listClone后,我需要替换列表&#34; A&#34;与listClone A。

我如何使用jQuery做到这一点?

4 个答案:

答案 0 :(得分:2)

我相信你只想替换li元素:

$('#list li[name=A]').html($('#listclone li[name=A]').html());

答案 1 :(得分:0)

$('#list').replaceWith('<ul id="listClone"><li name="A">some new val</li><li name="B">some cccc val</li><li name="C">some ddd val</li></ul>');

建议:

尝试将新列表ID保留为“list”而不是“listClone”,因为下次调用代码时这将无效。

答案 2 :(得分:0)

$("#list").html($("#listClone").remove().html());

listClone已删除。并且list的html被listClone的html替换。

答案 3 :(得分:0)

要使用#list移除整个#listClone,您可以执行以下操作:

$('#list').replaceWith($('#listClone'));

要删除#list的特定列表项,您可以执行#listClone项目:

$('#list').eq(0).replaceWith($('#listClone').eq(0)); // replace first element

或使用name属性

$('#list li[name=A]').replaceWith($('#listClone li[name=A]')); // replace first element

也适用于.html()

$('#list li[name=A]').html($('#listClone li[name=A]').html()); // replace first element

也可以使用.text()

$('#list li[name=A]').text($('#listClone li[name=A]').text()); // replace first element