在JQuery中选择自定义数据属性

时间:2012-08-01 12:35:21

标签: javascript jquery html5 custom-data-attribute

我这里有一个清单

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

5 个答案:

答案 0 :(得分:10)

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

这应该这样做:

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

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

答案 1 :(得分:4)

$(this).attr('data-value') 

也应该有用。

答案 2 :(得分:1)

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

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

以便检索值。

答案 3 :(得分:1)

$(this)引用当前的li元素,因此您会收到提醒元素。

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

答案 4 :(得分:0)

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

获取属性值并存储变量值

alert (value);

此警告后变量值

ZADD "projects:views" 17 PROJECT_NAME1 13 PROJECT_NAME2 21 PROJECT_NAME3