11

我这里有一个清单

<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>

其中每个 li 项目都有一个自定义数据属性。在 JQuery 上,如何获取每个具有 data-value 属性的 li 元素的所有值?我想得到他们的价值。

但我的这段代码似乎不起作用

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

jsfiddle上的整个代码:http: //jsfiddle.net/Zn3JA/

4

5 回答 5

17

你很接近。您可以使用 jQuery 的.data()方法来读取以data-. 所以在你的情况下.data("value"),因为你的属性是data-value="some".

这应该这样做:

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

这也是一个工作小提琴:http: //jsfiddle.net/nuphP/

于 2012-08-01T12:37:34.030 回答
6
$(this).attr('data-value') 

也应该工作。

于 2012-08-01T12:45:48.003 回答
1

您可以在您的情况下使用:

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

为了检索值。

于 2012-08-01T12:40:32.873 回答
1

$(this)指的是当前li元素,因此您会收到该元素的警报。

您可以尝试其他人的建议,即$(this).data("value")

于 2012-08-01T12:44:14.880 回答
0
   $('#view-tags').click(function(){
        $('li[data-value]').each(function(){
        var value = $(this).attr('data-value');
            alert(value);
        })
}); // this work normally

获取属性值并存储变量值

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

在此警告之后,变量值

alert (value);
于 2015-09-29T09:12:30.083 回答