我有像这样的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做到这一点?
答案 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