1

クラスbm-user-labelを持つすべての要素の値を見つけて、それをjavascript配列に入れようとしています。ただし、これを行うと、値フィールドの最初の2文字しか取得できません。たとえば:

value="30bb3825e8f631cc6075c0f87bb4978c"

返されます

30

DOMは次のようになります

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

そして私のJavaScriptは次のとおりです。

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

何か案は?

4

2 に答える 2

4

<li>要素は値を持つように定義されていません。代わりにを使用してこの属性を取得する必要がありますthis.getAttribute("value")

于 2012-10-01T16:26:15.370 に答える
4

Doctype標準に従うために、非ネイティブ属性のデータ属性を使用する必要があります。

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

そして、そのようにクエリします。

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

http://jsfiddle.net/sTdWY/

于 2012-10-01T16:28:36.907 に答える