Какой JavaScript удалит все теги изображений?
Удалить все изображения
Ответ 1
UPD: извините, это неправильный ответ, см. комментарии. Это правильный ответ.
Что-то вроде этого:
images = document.getElementsByTagName('img');
for (i = 0; i < images.length; i++) {
images[i].parentNode.removeChild(images[i]);
}
ИЛИ небольшое изменение моей первой попытки ответить на этот вопрос:
var images = document.getElementsByTagName('img');
var l = images.length;
for (var i = 0; i < l; i++) {
images[0].parentNode.removeChild(images[0]);
}
Ответ 2
В предыдущем ответе будет удалено только каждое второе изображение.
Помните, что NodeLists, возвращаемые getElementsByTagName или другими методами DOM, являются "живыми". Это означает, что при удалении изображения 0 изображения 1-n перемещаются вниз до 0- (n-1); это "деструктивная итерация".
Чтобы избежать этого, сделайте статическую копию массива NodeList (как эффективно ответ jQuery), или, быстрее, просто переместите список назад:
for (var i= document.images.length; i-->0;)
document.images[i].parentNode.removeChild(document.images[i]);
Ответ 3
Это тоже должно работать:
var images = document.getElementsByTagName('img');
while(images.length > 0) {
images[0].parentNode.removeChild(images[0]);
}
Ответ 4
С jQuery:
$("img").remove();
Ответ 5
Без использования внешних библиотек:
var images = document.getElementsByTagName('img');
for(var i=0; i < images.length; i++) {
images[i].parentNode.removeChild(images[i]);
}
Или используя jquery:
$('img').remove();