/ / Wybieranie niestandardowych atrybutów danych w JQuery - javascript, jquery, html5, custom-data-attribute

Wybieranie niestandardowych atrybutów danych w JQuery - javascript, jquery, html5, niestandardowy atrybut danych

Mam tutaj listę

<ul id="demo2" data-name="demo2">
<li data-value="here">here</li>
<li data-value="are">are</li>
<li data-value="some...">some</li>
<!-- notice that this tag is setting a different value :) -->
<li data-value="initial">initial</li>
<li data-value="tags">tags</li>
</ul>

Gdzie każdy element li ma niestandardowy atrybut danych. Jak na JQuery uzyskałby wszystkie wartości każdego elementu li, który ma atrybut wartości danych? Chcę uzyskać ich wartość.

ale mój kod wydaje się nie działać

        $("#view-tags").click(function(){
$("li[data-value]").each(function(){
alert($(this).data("value"));
})
});

Cały kod na jsfiddle: http://jsfiddle.net/Zn3JA/

Odpowiedzi:

8 dla odpowiedzi № 1

Jesteś bardzo blisko. Możesz użyć jQuery .data() metoda odczytu atrybutów rozpoczynających się od data-. W twoim przypadku .data("value") ponieważ twoim atrybutem jest data-value="some".

Powinno to zrobić:

$("li[data-value]").each(function(){
alert($(this).data("value"));
});

Oto także działające skrzypce: http://jsfiddle.net/nuphP/


3 dla odpowiedzi № 2
$(this).attr("data-value")

powinien również działać.


1 dla odpowiedzi nr 3

W swoim przypadku możesz użyć:

 jQuery(this).data("value");

w celu odzyskania wartości.


1 dla odpowiedzi nr 4

$(this) odnosi się do prądu li element, dlatego element zostanie ostrzeżony.

Możesz wypróbować to, co sugerowali inni, tj $(this).data("value")


0 dla odpowiedzi № 5
   $("#view-tags").click(function(){
$("li[data-value]").each(function(){
var value = $(this).attr("data-value");
alert(value);
})
}); // this work normally

Pobiera wartość atrybutu i przechowuje wartość zmiennej

var value = $ (this) .attr ("date value");

Po tym ostrzeżeniu wartość zmiennej

alert (value);