queryselector ejemplos div attribute javascript jquery dom model document

ejemplos - ¿Document.querySelector() de JavaScript igual que el método jQuery $()?



queryselector value (2)

Me he estado preguntando por qué las personas glorificaron el método jQuery $(".myClass") cuando JavaScript tiene un document.querySelector() genérico. ¿Hay algo que me falta aquí? ¿Por qué no usar el objeto del document ?

Soy completamente nuevo en JavaScript, entonces ¿hay algún tipo de estafa para document.querySelector() que no tenga conocimiento?

Realmente me gustaría saber, porque me encontré con algo así antes y me pregunto si podría ayudar una situación en la que estoy:

var retrieve = function( s ) { return document.querySelector( s ); }; retrieve(".myClass").style.display = "block";

Nota

No tengo nada en contra de jQuery en absoluto. De hecho, me encanta. Sin embargo, prefiero no engañarme a mí mismo con las herramientas listas para usar fáciles de usar cuando estoy tratando de aprender JavaScript.

¡Cualquier ayuda sería muy apreciada! :-)


Hace aproximadamente una década, los principales navegadores eran IE6, Netscape 8 y Firefox 1.5. En aquellos días, existían pequeñas formas de navegación cruzada para seleccionar un elemento del DOM además de Document.getElementById() .

Entonces, cuando jQuery fue lanzado en 2006 , fue bastante revolucionario. En aquel entonces, jQuery estableció el estándar sobre cómo seleccionar / cambiar elementos HTML y desencadenar eventos fácilmente, porque su flexibilidad y compatibilidad con el navegador no tenían precedentes.

Ahora, más de una década después, muchas características que hicieron tan popular a jQuery se han incluido en el estándar javaScript. En lugar de $selection.on() de jQuery, ahora puede usar EventTarget.addEventListener() . En lugar de jQuery''s $() , ahora puede usar Document.querySelectorAll() ... etc ... lo que nos lleva a preguntarnos por qué deberíamos usar jQuery. Y, de hecho, la gente se pregunta cada vez más si deberíamos usar jQuery en absoluto . Entonces, si crees que entiendes el JavaScript lo suficientemente bien como para prescindir de jQuery, ¡por favor hazlo! ¡No se sienta obligado a usar jQuery, solo porque muchos otros lo están haciendo!

De todos modos, para entender por qué jQuery es tan popular, ¡es importante entender de dónde venimos!


Soporte de navegador cruzado y heredado.

También puede usar getElementsByClassName () si no desea usar Jquery. Hay una respuesta a una publicación sobre devshed por usuario: KorRedDevil que puede ser de su interés.

Tomé su función de su publicación y la hice devolver una matriz. Después de tener esa matriz de elementos, todo lo que tiene que hacer es recorrerlos. Puedes probarlo here .

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'';

Marcado

<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>