2014-02-21 2 views
3

Наши формы формируют несколько тегов <style> в разделе <head>, ни один из которых не требуется (или не требуется).Удаление <style> теги от <head>

Как его удалить? Я попытался следующие, но думаю, что моя логика ошибочна здесь ... Я думал, что я должен был предназначаться родителя (<head>), чтобы удалить дочерний элемент, но думаю, я слишком упрощенно:

var hs = document.getElementsByTagName('style'); 
for (var i=0, max=all.length; i < max; i++) { 
    hs[i].parentNode.removeChild(hs[i]); 
} 

У меня я в массиве путаница?

+0

'hs [i] .remove()'? Но ваш код отлично работает для меня. – putvande

+1

Я думаю, вам нужно получить доступ к родительскому объекту, чтобы удалить его дочерний элемент, а не удалить его напрямую? – neil

ответ

2

Попробуйте

var hs = document.getElementsByTagName('style'); 
for (var i=0, max = hs.length; i < max; i++) { 
    hs[i].parentNode.removeChild(hs[i]); 
} 

Вы использованный max = all.length, вы не определили all и я предполагаю, что вы имели в виду hs.length. И max = hs.length будет один для многих, потому что массив основан на 0.

+0

Ах, глупая ошибка - спасибо. Он удаляет все теги «