Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Удаление тега и его внутренностей (https://javascript.ru/forum/dom-window/11069-udalenie-tega-i-ego-vnutrennostejj.html)

ifoow 05.08.2010 02:43

Удаление тега и его внутренностей
 
Всем привет
Как удалить через javascript тег <div> и все , что находится внутри него ?:help:

Octane 05.08.2010 03:03

Удалить элемент:
element.parentNode.removeChild(element);


Удалить содержимое:
element.innerHTML = "";

или
while(element.firstChild) {
    element.removeChild(element.firstChild);
}


Подробнее здесь:
http://javascript.ru/tutorial/dom/modify
http://javascript.ru/tutorial/dom/search

ifoow 05.08.2010 03:12

а на место element , можно написать "<div>" или "<div>" прийдется записывать в переменную ?

Gvozd 05.08.2010 03:16

Цитата:

Сообщение от ifoow
"<div>" или "<div>"

в чем разница?
Цитата:

Сообщение от ifoow
а на место element , можно написать

http://javascript.ru/tutorial/dom/search
http://javascript.ru/tutorial/dom

ifoow 05.08.2010 03:23

невыходит
<body>
<script language="javascript">
  <div>.innerHTML = "";
  </script>
  <div class="block">
    <object width="200" height="90" id="candle" align="top">
      <param name="allowScriptAccess" value="sameDomain" />
      <param name="movie" value="header.swf" />
      <param name="quality" value="high" />
      <param name="bgcolor" value="transparent" />
      <param name="wmode" value="transparent" />
      <embed src="header.swf" quality="high" bgcolor="transparent" width="1000" height="1000" name="candle" align="top" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" wmode="transparent" />    
</object>
  </div>
  <h1 class="style1"><a href="http://google.ru">fdddddddddddddddddddddddddddddd</a></h1>
  <h1 class="style1"><a href="http://google.ru">dddddddddddddddddd</a></h1>
  <h1 class="style1"><a href="http://google.ru">gggggggggggggggggggggggggggggggg</a></h1>
  <h1 class="style1"><a href="http://google.ru">ggggggggggggggggggggggg</a></h1>
  <h1 class="style1"><a href="http://google.ru">ggggggggggggggggggggggggggggggg</a></h1>
  <h1 class="style1"><a href="http://google.ru">ggggggggggggggggggggggggggggggggg</a></h1>
  <h1 class="style1"><a href="http://google.ru">ggggggggggggggggggggggg</a></h1>
  <h1 class="style1"><a href="http://google.ru">gggggggggggggggggggggggggggggggg</a></h1>
  <h1 class="style1"><a href="http://google.ru">gggggggggggggggggg </a></h1>
  
</body>


написал , но ничего не получается , по идеи флешка в теге див не должна появляться , потамучто javascript удалил весь тег див

Gvozd 05.08.2010 03:30

Цитата:

Сообщение от ifoow
<div>.innerHTML = "";

извиняюсь, но вы идиот?

ifoow 05.08.2010 03:36

я только начинаю осваивать javaScript , да и вообще я работаю во флеше и мне необходимо сделать всплывающий флеш банер с кнопкой для его закрытия , которая будет вызывать функцию javaScript и эта функция должна удалить весь тег див с самими флешем

Gvozd 05.08.2010 03:47

и что из этого?
вы написали глупость.
при этом вы явно не читали статьи, что я указал.
вы идиот, так как не пользуетесь ответами, которые вам дают, и вместо этого пишите глупость

ifoow 05.08.2010 03:50

я прочитал , понял , что элеемент это как раз тег , и все что находится внутри и сам тег заменяется "" - тоесть пустой строкой

Gvozd 05.08.2010 04:00

Цитата:

Сообщение от ifoow
я прочитал , понял

вы почитали все на что вам тут указали?
нереально, так как тут не на 20 минут дел.
и в любом случае вы не поняли
повторяю:
http://javascript.ru/tutorial/dom
читать весь цикл статей! Весь
до просветления, чем должен быть element
особый упор на
Цитата:

Сообщение от Octane
http://javascript.ru/tutorial/dom/search


ifoow 05.08.2010 04:03

'DIV' правильно ?

ifoow 05.08.2010 04:06

выборка тоже не помогает var element = document.getElementsByTagName('DIV')
element.innerHTML = "";

Gvozd 05.08.2010 04:07

ifoow,
хватит торопится, и гадать на кофейной гуще
повторяю еще раз:
прочитайте ВЕСЬ цикл статей.
если не поймете(это проверяется просто. ваш код будет работать, если поняли), ложитесь спать.
утром прочитайте его еще раз.
если не поймете(это проверяется просто. ваш код будет работать, если поняли), прочитайте еще раз.

повторять операцию почтения серии статей либо пока не поймете, либо пока не прочтете хотя бы 20 раз.
после этого, если останутся вопросы, задавайте их тут.

И ни в коем случае не пишите сюда, пока не прочтете хотя бы один раз серию статей, и два раза статью, на которой я акцентировал внмиание

потворяю для тупых:
И ни в коем случае не пишите сюда, пока не прочтете хотя бы один раз серию статей, и два раза статью, на которой я акцентировал внмиание

Gvozd 05.08.2010 04:09

Цитата:

Сообщение от ifoow
выборка тоже не помогает var element = document.getElementsByTagName('DIV')

хм.
таки вы все-таки решили хоть что-то прочитать, и пишите уже не такую ахинею.

а теперь перечитайте три раза часть статьи
http://javascript.ru/tutorial/dom/search#poisk-po-tagu
и уделите особое внимание тому, что возврщается этим методом.
подсказка:
вам нужен лишь один элемент, а не несколько

ifoow 05.08.2010 04:14

я понял , надо указать индекс тега , он у меня равен 0
var element = document.getElementsByTagName('DIV')[0]
Правильно ?

Gvozd 05.08.2010 04:18

Цитата:

Сообщение от ifoow
Правильно ?

наконец-то
верно
с вами было трудно

осталось избежать частой новичковой ошибки:
выполнение кода, работающего с элементом, до того как элемент объявлен.
то есть если в приведенном вами коде, вы обнулите innerHTML у див-а, то ничего не произойдет, так как на момент выполнения скрипты, див-а еще ьне существует
потому что тег script находится ранее, чем тег div к которому мы пытаемся обратится
решение проблемы:
1)распологать тег script после div-а
2) либо же выполнять код по событию onload

спокойной ночи

ifoow 05.08.2010 04:22

спокойной , но у меня все равно ничего не рабоатет , флешка все равно не исчезает

ifoow 05.08.2010 04:22

<div class="block">
<object width="200" height="90" id="candle" align="top">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="header.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="transparent" />
<param name="wmode" value="transparent" />
<embed src="header.swf" quality="high" bgcolor="transparent" width="1000" height="1000" name="candle" align="top" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" wmode="transparent" />
</object>
</div>
<h1 class="style1"><a href="http://google.ru">fdddddddddddddddddddddddddddddd</a></h1>
<h1 class="style1"><a href="http://google.ru">dddddddddddddddddd</a></h1>
<h1 class="style1"><a href="http://google.ru">gggggggggggggggggggggggggggggggg</a></h1>
<h1 class="style1"><a href="http://google.ru">ggggggggggggggggggggggg</a></h1>
<h1 class="style1"><a href="http://google.ru">ggggggggggggggggggggggggggggggg</a></h1>
<h1 class="style1"><a href="http://google.ru">ggggggggggggggggggggggggggggggggg</a></h1>
<h1 class="style1"><a href="http://google.ru">ggggggggggggggggggggggg</a></h1>
<h1 class="style1"><a href="http://google.ru">gggggggggggggggggggggggggggggggg</a></h1>
<h1 class="style1"><a href="http://google.ru">gggggggggggggggggg </a></h1>
<script language="javascript">
var element = document.getElementsByTagName('DIV')[0]
elem.innerHTML = "";
</script>

ifoow 05.08.2010 04:28

даже с onLoad

<div class="block">
<object width="200" height="90" id="candle" align="top">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="header.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="transparent" />
<param name="wmode" value="transparent" />
<embed src="header.swf" quality="high" bgcolor="transparent" width="1000" height="1000" name="candle" align="top" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" wmode="transparent" />
</object>
</div>
<h1 class="style1"><a href="http://google.ru">fdddddddddddddddddddddddddddddd</a></h1>
<h1 class="style1"><a href="http://google.ru">dddddddddddddddddd</a></h1>
<h1 class="style1"><a href="http://google.ru">gggggggggggggggggggggggggggggggg</a></h1>
<h1 class="style1"><a href="http://google.ru">ggggggggggggggggggggggg</a></h1>
<h1 class="style1"><a href="http://google.ru">ggggggggggggggggggggggggggggggg</a></h1>
<h1 class="style1"><a href="http://google.ru">ggggggggggggggggggggggggggggggggg</a></h1>
<h1 class="style1"><a href="http://google.ru">ggggggggggggggggggggggg</a></h1>
<h1 class="style1"><a href="http://google.ru">gggggggggggggggggggggggggggggggg</a></h1>
<h1 class="style1"><a href="http://google.ru">gggggggggggggggggg </a></h1>
<script language="javascript">
var newWind=window.open();
newWind.onload= function deletee(){
var element = document.getElementsByTagName('DIV')[0]
elem.innerHTML = "";
}
</script>

ifoow 05.08.2010 04:29

ой , функцию забыл вызвать

<div class="block">
<object width="200" height="90" id="candle" align="top">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="header.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="transparent" />
<param name="wmode" value="transparent" />
<embed src="header.swf" quality="high" bgcolor="transparent" width="1000" height="1000" name="candle" align="top" allowscriptaccess="sameDomain" type="application/x-shockwave-flash" wmode="transparent" />
</object>
</div>
<h1 class="style1"><a href="http://google.ru">fdddddddddddddddddddddddddddddd</a></h1>
<h1 class="style1"><a href="http://google.ru">dddddddddddddddddd</a></h1>
<h1 class="style1"><a href="http://google.ru">gggggggggggggggggggggggggggggggg</a></h1>
<h1 class="style1"><a href="http://google.ru">ggggggggggggggggggggggg</a></h1>
<h1 class="style1"><a href="http://google.ru">ggggggggggggggggggggggggggggggg</a></h1>
<h1 class="style1"><a href="http://google.ru">ggggggggggggggggggggggggggggggggg</a></h1>
<h1 class="style1"><a href="http://google.ru">ggggggggggggggggggggggg</a></h1>
<h1 class="style1"><a href="http://google.ru">gggggggggggggggggggggggggggggggg</a></h1>
<h1 class="style1"><a href="http://google.ru">gggggggggggggggggg </a></h1>
<script language="javascript">
var newWind=window.open();
newWind.onload= function deletee(){
var element = document.getElementsByTagName('DIV')[0]
elem.innerHTML = "";
}

deletee();
</script>

Octane 05.08.2010 04:31

Цитата:

Сообщение от ifoow
var *!*element*/!* = doc…
*!*elem*/!*.innerHTML = "";

...

ifoow 05.08.2010 04:34

оооо , точно , спасибо большое гвоздю и вам , наконецто заработало

x-yuri 05.08.2010 08:16

Цитата:

Сообщение от ifoow
я прочитал , понял , что элеемент это как раз тег , и все что находится внутри и сам тег заменяется "" - тоесть пустой строкой

тэги бывают открывающими и закрывающими, элемент = открывающий тэг + содержимое + закрывающий тэг или некий DOM-объект соответствующий этому куски исходного кода странички

Цитата:

Сообщение от ifoow
а на место element , можно написать "<div>" или "<div>" прийдется записывать в переменную ?

не записывать "<div>" в переменную, а получать ссылку на элемент


Часовой пояс GMT +3, время: 00:19.