2016-03-25 3 views
0

wie folgt aus:Ich habe viele Daten-Self-Element, aber wie kann ich alle von ihnen bekommen?

// with jquery i have tried 
 

 
$('body').data('self'); // undefined 
 
$('body').data('date-self'); //undefined 
 

 
// but i can use this method to get the defined element 
 

 
$('button').data('self'); // self 
 

 
// with javascript 
 

 
document.querySelector('button').dataset.self // self
<html> 
 
    <head> 
 
    
 
    </head> 
 
    
 
    <body> 
 
    <div data-self="self">self</div> 
 
    <span data-self="self">span self</div> 
 
    <ul> 
 
     <li data-self="self">li1 self</li> 
 
     <li data-self="self">li2 self</li> 
 
    </ul> 
 
    <button data-self="self">button self</button> 
 
    </body> 
 
</html>

aber ich kann nicht einen Weg finden, alle Elemente mit 'Daten-Selbst' zu bekommen.

Wenn jemand weiß, bitte sagen Sie mir, jede Hilfe würde sehr geschätzt werden.

Antwort

0

Nun, zuerst ist Ihr HTML ungültig. date-self sollte wahrscheinlich data-self sein, ja?

Zweitens immer der Wert in data-* Attributen wird mit der .data() Methode durchgeführt:

var dataSelf = $(".elem").data("self"); 

Sie können auch aus dem Attribute direkt erhalten, etwa so:

var dataSelf = $(".elem").attr("data-self"); 

Auswahl Elemente, die haben das data-self Attribut ist wie folgt getan:

var elementsWithDataSelf = $("[data-self]"); 
+0

Ja, ich habe diese dummen Fehler gemacht. Ich habe es behoben. –

+0

ok, danke, ich habe das Element 'daten-selbst' gesetzt! =. = –

0

Sie müssen nur über sie alle iterieren.

var $elems = $('[data-self]'); 
var selfs = []; 
$elems.each(function ($elem) { 
    selfs.push($elem.data('self')); 
}); 
0

Sie können alle Elemente, wo die daten Selbst "Attribut gesetzt mit dieser Abfrage:

var elementList=document.querySelectorAll('[data-self]'); 

Wenn Sie alle Elemente, bei denen die daten Selbst" Attribut etwas gleich auswählen müssen, dann können Sie nächste Zeile verwenden:

var elementList=document.querySelectorAll('[data-self="something"]'); 
Verwandte Themen