2016-07-19 18 views
-3

Hallo, ich bin neu und ich möchte das Attribut data-gallery zu allen img Elemente innerhalb div#gallery-1 hinzufügen. Wie macht man das mit jQuery?
Ich habe alle Antworten versucht, aber ich bekomme den "Uncaught TypeError: $ is not a function" Fehler. Ich bin kein Webentwickler, aber ich möchte es wissen. DankWie fügt man einem Element mit jquery ein Attribut hinzu?

+1

Können Sie zeigen, was Sie versucht haben? Auch, viele Beispiele da draußen: http://StackOverflow.com/Questions/5995628/Adding-Attribute-in-Jquery und das: http://StackOverflow.com/Questions/11489037/Add-and-Remove-Attribute- with-jquery –

+0

Prüfen [Datenattribut zu DOM hinzufügen] (http://stackoverflow.com/questions/14935191/adding-data-attribute-to-dom) – Mohammad

+0

Haben Sie vor Ihrem Skript einen Verweis auf jquery hinzugefügt? – Webpandit

Antwort

1
$("#gallery-1").find("img").attr("data-gallery", ""); 
+1

Ich denke, das ist nur ein Getter, für einen Setter müssen Sie einen zweiten Parameter hinzufügen. – Kilmazing

+1

Wenn Sie nur einen Parameter festlegen, wird der Wert in diesem Attribut –

+0

zurückgegeben. Sie können '.data ('gallery')' verwenden, um Werte abzurufen und festzulegen. – empiric

2
$("#gallery-1").find('img').each(function() { 
    $(this).attr('data-gallery', ''); 
}) 
+2

Müssen wir wirklich .each (function() für # gallery-1? # Gallery-1 ist eine ID und kann nicht mehr als eins auf dieser Seite sein ... –

+1

@VimalanJayaGanesh great point, danke. – Kilmazing

2

Keine Notwendigkeit each oder find zu verwenden.

// set 
$("#gallery-1 img").attr("data-gallery", "value"); 

// get 
$("#gallery-1 img").attr("data-gallery"); 

Sie können sogar data verwenden. Das ist kein sichtbares Attribut in Ihrem Code, es ist in einem jQuery-Objekt gespeichert, hat aber den gleichen Effekt.

// set 
$("#gallery-1 img").data("gallery", "value"); 

// get 
$("#gallery-1 img").data("gallery"); 
Verwandte Themen