jQuery encuentra la image por atributo 'src' – javascript simple

Por mi propia admisión, me he convertido en un usuario bastante competente de jQuery sin mucho conocimiento del javascript que se esconde detrás de él.

Recientemente, he intentado encontrar un compromiso al sopesar si vale la pena importar el marco jQuery para tareas relativamente pequeñas. Y como un ejercicio de aprendizaje para intentar al less pensar cómo se podría lograr sin jQuery.

Actualmente estoy trabajando en algo donde jQuery no es una opción. (Gran organización con prácticas establecidas en piedra).

Puedo seleccionar una image usando su fuente con jQuery; sin embargo, podría alguien explicar cómo hacer esto en javaScript simple.

$('img[src*="pic.gif"]').hide(); 

Muchas gracias Gary

Al igual que:

 function findImagesByRegexp(regexp, parentNode) { var images = Array.prototype.slice.call((parentNode || document).getElementsByTagName('img')); var length = images.length; var ret = []; for(var i = 0; i < length; ++i) { if(images[i].src.search(regexp) != -1) { ret.push(images[i]); } } return ret; } 

Simplemente select todas las imágenes en la página y filtre su src con expresiones regulares o funciones de cadena:

 var imgs = Array.prototype.slice.apply(document.getElementsByTagName('img')), resultImgs = []; for (var i = 0; i < imgs.length; i++) { if (imgs[i].src.indexOf('img.gif') !== -1) { resultImgs.push(imgs[i]); } } 

Presta atención a Array.prototype.slice.apply . Convierte HTMLCollection que es devuelto por getElementsByTagName a la matriz regular. Esto mejorará la velocidad de su script cientos de veces.

 var images = document.getElementsByTagName('IMG'); for (var i = 0; i < images.length; ++i) { if (images[i].src == "pic.gif") images[i].style.display = 'none'; }