Как я могу считать комментарий HTML, расположенный за пределами <HTML> с помощью JavaScript?

В Eclipse на Ваших конфигурациях отладки/выполнения у Вас есть следующие опции:

  1. Запущенный единственный тест
  2. Запущенный все тесты в выбранном проекте, пакете или исходной папке

я думаю, что вторая опция является Вашим другом в этом случае.

5
задан Shog9 21 September 2009 в 17:49
поделиться

3 ответа

Я провел небольшое тестирование и обнаружил, что любой HTML за пределами добавляется к во время синтаксического анализа. Итак, во всех протестированных мной браузерах (IE6 / 7, FF3, Opera10, Chrome2) комментарий был доступен как document.body.lastChild , а его содержимое можно получить через document.body.lastChild. .data .

6
ответ дан 14 December 2019 в 04:43
поделиться

Стандарт DOM для узла #document (логический корень документа DOM) допускает только один узел элемента (т.е. один ), но много узлов комментариев (и других, более эзотерических типы узлов). Таким образом, мы должны ожидать, что

document.lastChild

будет узлом комментария, который вам нужен в этом случае. Как ни странно, это не работает (по крайней мере, в Safari 4).

Размещение узла комментария перед узлом HTML в моих тестах нормально. В этом случае document.childNodes.length равно 2, а document.firstChild - это комментарий. Добавление комментария после узла HTML кажется вставленным в неправильное место в DOM - document.childNodes.length остается равным 1, а узел в инспекторе DOM рассматривается как последний дочерний элемент узла BODY. Однако я вообще не могу найти этот узел с помощью DOM API!

Это кажется странным (по крайней мере) в реализации DOM в Safari. Быстрый тест с использованием Firefox показывает, что он даже не может найти узел комментария, если это первая запись в документе!

Изменить: Хорошо, согласно комментарию Аарона и некоторым дополнительным размышлениям, вероятно, что парсер для страницы просто отбрасывая узлы во время синтаксического анализа. Я больше не уверен, что это ошибка, но я не могу найти в спецификации (XML) ничего, что позволяло бы синтаксическим анализаторам отбрасывать целые узлы комментариев - только их текстовое содержимое.

2
ответ дан 14 December 2019 в 04:43
поделиться

Для этой проблемы существует плагин jQuery: http://www.bennadel.com/index.cfm?dax=blog:1563.view

Похоже, что

objChildNode.nodeType === 8

главное!

0
ответ дан 14 December 2019 в 04:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: