Выбор элементов DOM в консоли Chrome
Я немного озадачен следующим: пусть говорят, что у меня есть элемент абзаца с идентификатором para
. Использование консоли Chromes, если я скажу
document.getElementById("para")
Я возвращаюсь с фрагментом HTML <p id="para">....</p>
, тогда как если я использую, например, метод выбора D3 библиотеки Javascript и скажу
d3.select("#para")
Я возвращаюсь с DOM node и могу получить доступ ко всем свойствам и методам элемента абзаца.
Почему это различие?
Ответы
Ответ 1
По умолчанию при регистрации DOM node в Chrome он отображается как разметка. Для регистрации DOM node в качестве обычного объекта используйте console.dir
. Причина d3.select("#para")
показывает, что обычный объект заключается в том, что этот метод, вероятно, не возвращает DOM node, а объект, который обтекает DOM node.
console.dir(document.getElementById("para"));