Подтвердить что ты не робот

JavaScript document.querySelector() аналогичен методу jQuery $()?

Мне было интересно, почему люди прославили метод jQuery $(".myClass"), когда JavaScript имеет общий document.querySelector(). Здесь что-то не хватает? Почему бы просто не использовать объект document?

Я совершенно новичок в JavaScript, так что есть какой-то тип con to document.querySelector(), о котором я не знаю?

Мне бы очень хотелось узнать, потому что раньше я сталкивался с чем-то подобным, и мне интересно, может ли это повлиять на ситуацию, в которой я нахожусь:

var retrieve = function( s ) {
    return document.querySelector( s );
};

retrieve(".myClass").style.display = "block";

Примечание

У меня нет ничего против jQuery. На самом деле, мне это нравится. Тем не менее, я бы предпочел не обманывать себя, используя простые готовые готовые инструменты, когда я просто пытаюсь изучить JavaScript.

Любая помощь будет очень признательна!: -)

4b9b3361

Ответ 1

Поддержка нескольких браузеров и старых версий.

Вы также можете использовать getElementsByClassName(), если вы не хотите использовать JQuery. Ответ на сообщение на devshed пользователем: KorRedDevil, который может вас заинтересовать.

Я взял вашу функцию из вашего сообщения и сделал ее возвратом массива. После того, как у вас есть этот массив элементов, все, что вам нужно сделать, это петля над ними. Вы можете попробовать здесь.

JavaScript:

var retrieve = function(className) {
    return document.getElementsByClassName(className);
};

var elements = retrieve('foo');
for (var i = 0; i < elements.length; i++)
    elements[i].style.background = '#dfd';

Разметка:

<p class="foo">foo</p>
<p class="bar">bar</p>
<p class="foo">foo</p>
<p class="foo">foo</p>
<p class="bar">bar</p>
<p class="bar">bar</p>

Ответ 2

Около десяти лет назад главными браузерами были IE6, Netscape 8 и Firefox 1.5. В те дни было мало способов перекрестного браузера для выбора элемента из DOM, помимо Document.getElementById().

Итак, когда jQuery был выпущен еще в 2006 году, он был довольно революционным. Тогда jQuery установил стандарт для того, как легко выбирать/изменять элементы HTML и запускать события, поскольку его гибкость и поддержка браузера были беспрецедентными.

Теперь, более десятилетия спустя, многие функции, которые сделали JQuery настолько популярными, стали включены в стандарт javaScript. Вместо jQuery $selection.on() теперь вы можете использовать EventTarget.addEventListener(). Вместо jQuery $() теперь вы можете использовать Document.querySelectorAll()... и т.д., в котором возникает вопрос, почему мы должны использовать jQuery вообще. И действительно, люди все чаще задаются вопросом, следует ли вообще использовать jQuery. Итак, если вы считаете, что понимаете JavaScript достаточно хорошо, чтобы обойтись без jQuery, сделайте это! Не чувствуйте себя вынужденным использовать jQuery, просто потому, что так делают многие другие!

В любом случае, чтобы понять, почему jQuery настолько популярен, важно понять, откуда мы пришли!