2011-04-27 13 views
5

estoy usando un script sencillo para encontrar una imagen en una página y obtener su fuente.Cómo conseguir todas las fuentes de imagen en una página determinada usando Javascript

function img_find() { 
    var img_find2 = document.getElementsByTagName("img")[0].src; 
    return img_find; 
} 

Sin embargo, cuando voy a escribir esta función en mi página, solo encuentra la primera imagen y luego se detiene. ¿Cuál es la mejor manera de hacer que imprima todos los src de imagen en la página actual? Gracias!

+0

"sólo se encuentra la primera imagen" - 'document.getElementsByTagName (" img ") [0]' mmm? – Andrey

+0

Sí, su súbita único src imagen de una página en particular, aunque hay varias imágenes en la página. – Chris

+0

@Andrey estaba tratando de poner su atención en el '[0]' lo que usted tiene allí para obtener la primera partida de la matriz. – BalusC

Respuesta

18

Si lo necesitas contaste el código para hacerlo. No hagas eso. Solo dígale que recorra todas las imágenes y presione el src de cada una en una matriz y devuelva la matriz con todos los srcs.

function img_find() { 
    var imgs = document.getElementsByTagName("img"); 
    var imgSrcs = []; 

    for (var i = 0; i < imgs.length; i++) { 
     imgSrcs.push(imgs[i].src); 
    } 

    return imgSrcs; 
} 
+0

Gracias por este BalusC pero no cargó ningún img src. – Chris

+0

Debería funcionar bien si el documento tiene imágenes. Tal vez estás malinterpretando el valor de retorno? Devuelve una matriz. ¿O lo estás ejecutando demasiado temprano? Hacerlo en 'window.onload' o poner el guión al final del cuerpo, justo antes de' '. – BalusC

+0

¡Entendido! Una última cosa: uso esto para escribir las URL de img en la página img_find = img_find(); document.write ('test' + img_find); pero pone los resultados de esta manera http://www.domain.com/image.png,http://www.domain.com/image.png ¿hay alguna forma de separarlos? así que tal vez haya un descanso entre ellos. – Chris

0

He buscado en toda la web una solución a esto, quizás esto ayude si alguien más busca lo mismo.

for(var i = 0; i< document.images.length; i++){ 
document.images[i].style.border = "1px solid #E0FDA6"; 
} 

Significado, buscar todas las imágenes que tienen etiqueta de estilo (la frontera en este ejemplo) y establecer todas las fronteras a E0FDA6 (útil para restablecer las imágenes resaltadas individuales), pero supongo que se puede utilizar para todo, con la etiqueta de estilo.

Rg, Anjanka

0

Puede ayudarle ...

img=document.getElementsByTagName("img"); 
for(i=0; i<img.length; i++) { 
    imgp = imgp + img[i].src + '<br/>'; 
} 
document.write(imgp); 
+0

Sería útil si formateó su código correctamente. – chilemagic

0

que sea sencillo:

console.log(document.body.getElementsByTagName('img')); 
Cuestiones relacionadas