2016-04-15 4 views
1

Angenommen, ich habe mehrere data-foo="value" auf einer Seite und eine var ID = "12". Wie kann ich alle Instanzen dieses Datenattributs foo auf der Seite anvisieren und das ID an das Ende davon hinzufügen, so wird es data-foo="value12".Suche nach allen Datenattributen mit der gleichen Benennung und dem gleichen Wert - jQuery

Das Ergebnis mit einer Templating-Engine wäre so etwas wie data-foo="value{ID}", aber ich benutze keine, nur pure JS oder jQuery.

Der Wert von data-foo-"value" ist auf der ganzen Seite unterschiedlich.

+0

versuchen mit 'Dokument. querySelectorAll ('[data-foo = "value" + id.toString() +' "] ');' ... hier finden Sie alle Elemente, die das Attribut data-foo = "value {id}" haben um {id} mit der gewünschten Zahl oder whatev zu ersetzen er –

Antwort

0

In nach Antwort des MilindAnantwar.


Sie können mit $('*[data-foo]') Selektor alle Elemente mit Attribut data-foo, wie diese wählen:

var ID = "12"; 

$('*[data-foo]').attr("data-foo", function(i, val) { 
    return val + ID; 
}); 

Siehe Jsfiddle(Elemente überprüfen und HTML-Code sehen)

0

Sie sie ausrichten können Attribut gleich Selektor und dann ihre Werte in Abhängigkeit von .attr() Methode Rückruf ändern:

var ID = "12"; 
$([data-foo="value"]).attr("data-foo", function(i, val) { 
    return val + ID; 
}); 
Verwandte Themen