2016-08-03 11 views
-2

Ich muss jedem Bild auf einer Seite ein Datenattribut hinzufügen. Diese Datenbilder bieten eine Lightbox-Funktionalität, aber da es so viele Bilder gibt, wäre es schön, dies mit Jquery zu automatisieren.Fügen Sie jedem Bild ein Datenattribut mit Jquery hinzu

Bisher habe ich mit dem Datenattribut Möglichkeiten wie gespielt habe:

$('.item a).attr('data-lightbox'); 

Ich habe mehrere Bilder auf einer Seite und alle mit dem .item div, um das Datenattribut angewandt sollte. Denke ich über den richtigen Weg nach?

+0

können Sie posten Sie Ihre html für Bild mit Container? –

+2

['.data (Schlüssel, Wert)'] (https://api.jquery.com/data/#data-key-value) – Andreas

+0

OP, hat meine Antwort Ihnen geholfen? –

Antwort

2

Sie verwenden eine Methode , indem Sie nur den Schlüssel als Parameter übergeben. Sie müssen einen Setter verwenden und einen Schlüssel und Wert übergeben. Die korrekte Syntax ist

$(selector).data(name,value) 

Schleife über die Bilder und verwenden Sie die data() Methode

$("img").each(function() { 
    $(this).data("lightbox", "value"); 
}); 

https://api.jquery.com/jquery.data/

+0

Dies scheint der logische Weg, es zu tun. Es funktioniert aber nicht. Ich könnte hinzufügen, dass im div-Tag kein Datenattribut vorhanden ist. Im Grunde sieht es so aus: und muss sein – Badger

2

Dies wird die Arbeit machen

$('.item img').attr('data-lightbox', 'value');

+0

Es ist besser, die eingebaute Datenmethode –

+0

http://stackoverflow.com/questions/7261619/jquery-data-vs-attr zu verwenden, vielleicht rechtfertigen Sie Ihren Punkt – Devz

+0

Grundsätzlich ist das Was hat der Trick: $ j (". item-page a"). je (function() { \t \t \t $ j (diese) .attr ("daten-uk-lightbox", "wert"); \t \t \t}); – Badger

Verwandte Themen