2012-06-02 63 views
0

我已经通过Ajax调用生成的列表这样replacewith jQuery的

<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替换列表“A”。

我该如何使用jQuery?

+0

我不知道,如果你想更换整个列表,或者只是''名称= A'的''元素'',但如果它是后者,这就是我的答案地址 – lucuma

回答

2

我相信你只是想更换li元素:

$('#list li[name=A]').html($('#listclone li[name=A]').html()); 
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’,因为这在下次调用代码时,将无法工作。

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

listClone被删除。并且list的html被listClone的html代替。

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