Почему возвращаемый объект document.getElementById отличается от $ («. Class»). Last (). Get ()?

0

Я не понимаю, почему разница (с использованием 1.9.1):

document.getElementById("myId").children;

выводит массив элементов DOM

Но если я это сделаю:

$("#myId").get().children;

выходы undefined Почему?

Документация jQuery.get() говорит:

.get() предоставляет доступ к узлам DOM, лежащим в основе каждого объекта jQuery

поэтому почему дети пусты, если узел DOM с id = myId имеет детей?

Плюс, если я делаю $("#myId")[0].children я получаю тот же результат, что и с первым методом (getElementById). Не следует ли() делать то же самое?

  • 0
    Просто мысль, но console.log(document.getElementById('myId').children, $('#myId').get().children); ответил бы на твой вопрос.
Теги:
dom

2 ответа

5
Лучший ответ

потому что .get() возвращает массив.

$("#myId")[0].children

или используйте.prop() как

$("#myId").prop('children')

.получить()

Извлеките элементы, соответствующие объекту jQuery.

1

Отсутствующий индекс

.get(index)

$("#myId").get(0).children;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню