Заменить с JQuery

У меня есть список, сгенерированный вызовом 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 ответа

Решение

Я считаю, что вы просто хотите заменить элемент li:

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

listClone удален. html списка заменяется html listClone.

Удалить весь #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

$('#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>');

Предложение:

Попробуйте сохранить новый идентификатор списка как "list", а не "listClone", поскольку это НЕ будет работать при следующем вызове кода.

Другие вопросы по тегам