1

我正在尝试使用 bm-user-label 类查找所有元素的值,并将其放入 javascript 数组中。但是,当我这样做时,我只会得到值字段的前两个字符。例如:

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

为了遵循 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 回答
4

<li>元素未定义为具有值。您应该this.getAttribute("value")改为使用此属性。

于 2012-10-01T16:26:15.370 回答