Próbuję znaleźć wartość wszystkich elementów z etykietą użytkownika BM i umieścić go w tablicy JavaScript. Jednak kiedy to robię, dostaję tylko dwie pierwsze znaki pola wartości. Na przykład dla:

value="30bb3825e8f631cc6075c0f87bb4978c"

Wracam

30

Dom wygląda jak

<li value="30bb3825e8f631cc6075c0f87bb4978c" class="cboxElement bm-user-label">first</li>

A mój JavaScript jest:

var com_labels = $('.bm-user-label').map(function() {
     return(this.value);
}).get();

Jakieś pomysły?

1
user387049 1 październik 2012, 20:24

2 odpowiedzi

Najlepsza odpowiedź

<li> Elementy nie są zdefiniowane, aby mieć wartość. Zamiast tego należy uzyskać ten atrybut za pomocą this.getAttribute("value").

4
scrappedcola 1 październik 2012, 16:26

W celu przestrzegania standardów Docalype należy użyć atrybutów danych dla atrybutów natywnych:

<li data-value="30bb3825e8f631cc6075c0f87bb4978c" class="cboxElement bm-user-label">first</li>

I zapytanie jako takie:

var com_labels = $('.bm-user-label').map(function() {
     return($(this).data('value'));
}).get();

http://jsfiddle.net/stdwy/

4
AlienWebguy 1 październik 2012, 16:28