Получение базового элемента из объекта jQuery

Я изо всех сил пытаюсь найти здесь правильную терминологию, но если у вас есть объект jQuery ...

$('#MyObject')

... можно ли извлечь базовый элемент? То есть эквивалент этого:

document.getElementById('MyObject')
Как конвертировать HTML в PDF с помощью jsPDF
Как конвертировать HTML в PDF с помощью jsPDF
В этой статье мы рассмотрим, как конвертировать HTML в PDF с помощью jsPDF. Здесь мы узнаем, как конвертировать HTML в PDF с помощью javascript.
68
0
57 642
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Ответ принят как подходящий

Да, используйте .get(index). Согласно документация:

The .get() method grants access to the DOM nodes underlying each jQuery object.

$('#MyObject').get(0);

Я думаю, что ты этого хочешь. Я думаю, вы также можете ссылаться на него как на обычный массив:

$('#MyObject')[0];

Но я не уверен, всегда ли это будет работать. Придерживайтесь первого синтаксиса.

когда я console.info $('#MyObject).get(0) внутри тегов html - это :before и :after при использовании хрома. Есть идеи, что это значит?

Connor Leech 14.01.2014 12:21

Объект jQuery - это набор элементов. В вашем случае набор из одного элемента. Это отличается от некоторых других библиотек, которые обертывают отдельные элементы и предоставляют альтернативный синтаксис для селекторов, возвращающих несколько совпадений.

Аарон В и VolkerK уже объяснили, как получить доступ к первому (индекс 0) элементу в наборе.

Я протестировал утверждения Аарона во всех браузерах, доступных на моем компьютере:

$('#MyObject').get(0);

против

$('#MyObject')[0];

Насколько я могу судить, это только вопрос личных предпочтений.

Функционально оба этих оператора эквивалентны как для существующих, так и для несуществующих элементов. Я тестировал следующие браузеры: Chrome 27.0, FF 21.0, IE10, IE9, IE8, IE7, IE6.

В тестах скорости, которые я проводил, не всегда можно было сказать, какой вариант был быстрее; результат не всегда был одинаковым, даже в одном и том же браузере. Для тестов скорости я тестировал только существующие элементы. Мои результаты тестов - здесь.

Другие вопросы по теме