JQuery, как удалить «id» из части содержимого HTML - PullRequest
4 голосов
/ 08 июля 2011

Я хочу сделать что-то вроде этого:

var html = $("#media").html();
$("#multimedia-content").append(html);
$("#multimedia-content").filter("*").removeAttr("id");

Сбой 3-й строки, я хочу удалить все идентификаторы из этой части HTML, но я не знаю, как сделать выбор.*

Спасибо!

Ответы [ 4 ]

8 голосов
/ 08 июля 2011

Лично я бы попробовал это:

$('#media')                         // grab the media content
  .clone()                          // make a duplicate of it
  //.find('*')                        // find all elements within the clone
    .removeAttr('id')               // remove their ID attributes
  //.end()                            // end the .find()
  .appendTo('#multimedia-content'); // now add it to the media container

Если вы хотите, чтобы #media также потерял свой идентификатор, удалите строки .find() и .end(), в противном случаепрокомментируйте их.

3 голосов
/ 08 июля 2011

Вы должны сделать:

$("#multimedia-content *").removeAttr("id");

Это удалит все идентификаторы элементов внутри #multimedia-content

0 голосов
/ 08 июля 2011

Попробуйте это:

$("*[id], #multimedia-content").removeAttr("id");

Таким образом, он удаляет атрибут id только из элементов, которые содержат атрибут id.

0 голосов
/ 08 июля 2011

Чтобы удалить любые атрибуты id из любых дочерних элементов #multimedia-content:

$("#multimedia-content").find().each(function() {
    $(this).removeAttr("id");
});
...