Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.04.2011, 18:31
Кандидат Javascript-наук
Отправить личное сообщение для LRCenter Посмотреть профиль Найти все сообщения от LRCenter
 
Регистрация: 22.06.2009
Сообщений: 117

Зацепить комментарий.
Подскажите как сделать такую фишку на JS.

Есть страница. В самом ее конце, в комментарии (<!-- -->) выводится строка данных, как можно после загрузки этой страницы извлечь эту строку JS-ом и визуализировать в нужном месте страницы?
Ответить с цитированием
  #2 (permalink)  
Старый 08.04.2011, 18:39
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

<div id='foo'></div><!-- text -->
<script type='text/javascript'>
	var comment = document.getElementById("foo").nextSibling;
	alert(comment.textContent || comment.innerText);
</script>
Ответить с цитированием
  #3 (permalink)  
Старый 08.04.2011, 18:54
Кандидат Javascript-наук
Отправить личное сообщение для LRCenter Посмотреть профиль Найти все сообщения от LRCenter
 
Регистрация: 22.06.2009
Сообщений: 117

Я правильно понимаю что <div id='foo'></div> нужен исключительно для указания нужного комментария?

А нельзя ли зацепиться за закрывающий тэг </html>?
Ответить с цитированием
  #4 (permalink)  
Старый 08.04.2011, 18:57
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

document.documentElement.lastChild

Если комментарий прямо перед </html>, даже без пробелов.
Ответить с цитированием
  #5 (permalink)  
Старый 08.04.2011, 19:07
Кандидат Javascript-наук
Отправить личное сообщение для LRCenter Посмотреть профиль Найти все сообщения от LRCenter
 
Регистрация: 22.06.2009
Сообщений: 117

Не понял, как?

Так не работает.
<html>
<body onload="var comment = document.documentElement.lastChild; 
var content=document.getElementById('block'); content.innerHTML=comment.textContent || comment.innerText;">
<div id='block'></div>

</html><!-- text -->


А так работает:

<body onload="var comment = document.getElementById('foo').nextSibling; 
var content=document.getElementById('block'); content.innerHTML=comment.textContent || comment.innerText;">

<div id='block'></div>
<!-- Зацепляет js-ом комментарий для вывода после загрузки в тело страницы -->
<div id='foo'></div><!-- text -->
Ответить с цитированием
  #6 (permalink)  
Старый 08.04.2011, 19:23
Профессор
Отправить личное сообщение для Matre Посмотреть профиль Найти все сообщения от Matre
 
Регистрация: 07.01.2011
Сообщений: 582

Он у Вас после, а не перед.
Ответить с цитированием
  #7 (permalink)  
Старый 08.04.2011, 19:25
Кандидат Javascript-наук
Отправить личное сообщение для LRCenter Посмотреть профиль Найти все сообщения от LRCenter
 
Регистрация: 22.06.2009
Сообщений: 117

А мне и надо после, кстати если впереди поставить - тоже не работает.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Зацепить одновременно несколько элементов. LRCenter Events/DOM/Window 4 14.03.2011 09:22