Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.03.2013, 21:32
Кандидат Javascript-наук
Отправить личное сообщение для BorisBritva Посмотреть профиль Найти все сообщения от BorisBritva
 
Регистрация: 17.03.2010
Сообщений: 145

как удалить элемент из DOM
На странице есть js скрипт. Как его удалить другим скриптом?
Ответить с цитированием
  #2 (permalink)  
Старый 10.03.2013, 21:47
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

<script>var blah = "blah" ;</script>
<script>
var script = document.getElementsByTagName("script")[0] ;
script.parentNode.removeChild(script) ;
alert(document.querySelector("script").innerHTML) ;
</script>
__________________
★ ²º¹³ ☆
Ответить с цитированием
  #3 (permalink)  
Старый 10.03.2013, 21:58
Кандидат Javascript-наук
Отправить личное сообщение для BorisBritva Посмотреть профиль Найти все сообщения от BorisBritva
 
Регистрация: 17.03.2010
Сообщений: 145

А если скриптов на странице несколько и нужно удалить все?

Так неполучается:

var s = document.body.getElementsByTagName("script");
for(var i=0; i<s.length; i++)
        {
var script = document.getElementsByTagName("script")[i];
script.parentNode.removeChild(script);
alert(s.length);
        }

Последний раз редактировалось BorisBritva, 10.03.2013 в 22:11.
Ответить с цитированием
  #4 (permalink)  
Старый 10.03.2013, 22:15
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

BorisBritva, найдите все скрипты и в цикле удалите каждый
var arr = document.getElementsByTagName("script") ;
for(var i=0, l=arr.length; i<l; i++)
 arr[i].parentNode.removeChild(arr[i]) ;
__________________
★ ²º¹³ ☆
Ответить с цитированием
  #5 (permalink)  
Старый 11.03.2013, 02:34
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

Толку от удаления скрипта не будет.
Ответить с цитированием
  #6 (permalink)  
Старый 11.03.2013, 06:14
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Hekumok, не обманывай себя, называя переменную arr (ну типа array). NodeList ведет себя по-другому, словно "живой" массив. Удалишь нулевой элемент - все остальные индексы тут же сдвинутся. Так что удалять нужно с конца. Или array = Array.prototype.slice(nodes)
Ответить с цитированием
  #7 (permalink)  
Старый 11.03.2013, 16:25
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,586

Ну не так уж обязательно с конца:
while(arr[0]) ...
=)
__________________
29375, 35
Ответить с цитированием
  #8 (permalink)  
Старый 11.03.2013, 17:10
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

Вариант - превратить arr в настоящий массив:
var arr2 = Array.prototype.slice.call( arr, 0 )
for( var i = 0; i < arr2.length; ++i )
  arr2[i].parentNode.removeChild( arr2[i] );
Ответить с цитированием
  #9 (permalink)  
Старый 11.03.2013, 21:17
Аватар для Hekumok
Отправить личное сообщение для Hekumok Посмотреть профиль Найти все сообщения от Hekumok
 
Регистрация: 04.06.2012
Сообщений: 513

danik.js, упс, да, тупанул я) забыл, что NodeList - это "живой" массив
__________________
★ ²º¹³ ☆
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как удалить из набора элементы у которых дисплей нан KamalovRadik jQuery 3 30.10.2011 16:11
Как отобрать каждый элемент тега <li> KamalovRadik jQuery 4 19.10.2011 14:49
Как получит ссылку на элемент внутри которого запустили JS код? aRpi Events/DOM/Window 20 02.10.2011 13:36
Как удалить элемент? z700i Общие вопросы Javascript 1 30.09.2011 21:40
Новый элемент отсутствует в DOM модели StrSprut jQuery 4 19.09.2011 12:50