2012-05-02 30 views
7

He puesto un mapa de Google en una página y genera muchas etiquetas de img sin el atributo alt, ¿cómo puedo agregar la alt para cada img en un div en jquery? , ¿cuál es que tengo que hacer en lugar de:Cómo agregar un atributo alternativo de etiquetas img con jquery

$('#map_canvas > img[alt]').attr('image'); 

Gracias

+4

¿Cómo va a determinar qué texto alternativo es el adecuado? ('image' casi siempre es terriblemente incorrecto y mucho peor que ningún atributo alt en absoluto). – Quentin

+0

Probé todos sus códigos y no funcionan, ¿está seguro de que no me falta un script incluido? Tengo eso: – user1301411

+0

Respuesta

13

para establecer un texto alternativo para todas las imágenes:

$('#map_canvas > img').attr('alt', 'Alternative text'); 

para establecer un texto alternativo a las imágenes que no tienen alt atributo:

$('#map_canvas > img:not([alt])').attr('alt', 'Alternative text'); 
+0

raro, tal vez me falta un script incluido, ¿hay otras inclusiones aparte de estas: user1301411

11

Probar:

$("#map_canvas > img:not([alt])").attr("alt", "<YOURALTTEXT>"); 
+1

+1 para no sobrescribir la imagen que ya tiene atributos 'alt'. –

4

Este trabajo:

$('#map_canvas').find('img:not([alt])').attr('alt', 'Alt text'); 
3

que podría hacer:

$('#map_canvas > img[alt=""]').each(function() 
{ 
    $(this).attr('alt', $(this).attr('src'); 
}); 

Este encontraría todas las imágenes de #map_canvas que no tienen un alt, y luego configure la etiqueta alt para que sea la misma que la imagen src.

Alternativamente, yo recomendaría:

$('#map_canvas > img[alt=""]').attr('alt', 'Alt text'); 

ya que esto sólo añadir etiquetas alt a las imágenes que no tienen uno.

2
$('#map_canvas > img').attr('alt', 'alt_text'); 
Cuestiones relacionadas