0

我有这样的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 后,我需要将列表“A”替换为 listClone A。

我如何用 jQuery 做到这一点?

4

4 回答 4

2

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

$('#list li[name=A]').html($('#listclone li[name=A]').html());
于 2012-06-02T03:42:23.417 回答
0
$("#list").html($("#listClone").remove().html());

listClone 被移除。并且列表的 html 被替换为 listClone 的 html。

于 2012-06-02T03:25:50.710 回答
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
于 2012-06-02T04:25:37.523 回答
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”,因为下次调用代码时这将不起作用。

于 2012-06-02T03:15:16.677 回答