JavaScript: getElementById получить NodeList

322
28 января 2017, 11:35

Здравствуйте!

Подскажите, пожалуйста, как используя getElementById получить NodeList? По умолчанию, возвращается HTML с дочерними элементами. например

HTML:

<div id="text">
    <p>text</p>
 </div>

JS:

el = document.getElementById('text');   
console.log(el)

Однако, если использовать jQuery console.log($(el)) - то получается NodeList. Подскажите, пожалуйста, как добиться такого же результата на классическом JavaScript.

Спасибо!

Answer 1

Говоря, что document.getElementById возвращает HTML - вы ошибаетесь. Этот метод возвращает экземпляр класса Element.

Убедится в этом довольно просто. Вот такой код:

var el = document.getElementById('text');   
console.log(el instanceof Element);

выведет в консоль true (пруф).

Что же касается NodeList, то document.getElementById ни в коем случае не должен возвращать экземпляр этого класса, поскольку, согласно стандарту, аттрибут id должен быть уникален в пределах документа.

Поведение jQuery здесь можно объяснить соображениями единообразия: оборачивая какой-либо элемент (Element) вы получаете коллекцию узлов, содержащую ровно один элемент.

Если вам все же нужен экземпляр NodeList, при этом вы не хотите использовать jQuery, то можно воспользоваться методом document.querySelectorAll:

var el = document.querySelectorAll('#text');   
console.log(el instanceof NodeList);

Рабочий пример на JSFiddle.

Answer 2

Попробуйте метод document.querySelectorAll.Пример: List = document.querySelectorAll("selector");

READ ALSO
заполнение html формы

заполнение html формы

Здравствуйте, подскажите пожалуйста, как сделать так,чтоб в форме обратной связи в поле "Номер телефона" код оператора был статичным, и при...

280
Перезагрузка страницы

Перезагрузка страницы

Добрый деньПодскажите, пожалуйста, как сделать разовую перезагрузку страницы

438
Куки на локальном сервере

Куки на локальном сервере

На локальном сервере USB Web Server не правильно работает Jquery Cookie$

437
Настройка формы регистрации js php [требует правки]

Настройка формы регистрации js php [требует правки]

Как корректно сделать проверку на условия регистрации?

415