2012-05-02 28 views
7

Ho inserito una mappa di google in una pagina e crea molti tag img senza l'attributo alt, come posso aggiungere l'alt per ogni img in un div in jquery , cosa c'è che devo fare, invece di:Come aggiungere un attributo alt dei tag img con jquery

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

Grazie

+4

Come si intende determinare quale testo alternativo è appropriato? ('image' è quasi sempre orribilmente sbagliato e molto peggio di nessun attributo alt). – Quentin

+0

Ho provato tutti i tuoi codici e non funzionano, sei sicuro che non manchi uno script incluso? ho quello: – user1301411

+0

risposta

13

per impostare testo alternativo a tutte le immagini:

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

per impostare testo alternativo per le immagini che non hanno l'attributo alt:

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

strano, forse mi manca uno script incluso, ci sono altre inclusioni a parte queste: user1301411

11

Prova:

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

+1 per non sovrascrivere l'immagine che ha già attributi 'alt'. –

4

Questo lavoro:

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

si potrebbe fare:

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

Ciò troverebbe tutte le immagini all'interno di #map_canvas che non hanno un alt tag, quindi impostare il tag alt come uguale all'immagine src.

In alternativa, mi sento di raccomandare:

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

come questo sarà solo aggiungere tag ALT per le immagini che non hanno uno.

2
$('#map_canvas > img').attr('alt', 'alt_text'); 
Problemi correlati