jquery.data:如何将数据存储到元素并访问它?

时间:2013-07-16 15:56:38

标签: jquery data-binding jquery-1.9

如何将数据存储到元素,然后操作该检查是否有数据?

例如,我有两个具有相同类名的元素。

<div class="elem"></div>
<div class="elem"></div>

jquery的,

$(".elem:first").data("hasdata","popup");

if($(".elem").data("hasdata") === 'popup') $(".elem").css({background:'red'})

我得到两个红色,但我只想让第一个变成红色。有可能吗?

我对jsfiddle

的测试

3 个答案:

答案 0 :(得分:2)

您可以使用filter()并将条件放入其中。

<强> Live Demo

$(".elem:first").data("hasdata","popup");
$(".elem").filter(function(){
    return $(this).data("hasdata");
}).css({background:'red'});

答案 1 :(得分:2)

您可以使用each来迭代课程elem

的所有元素
$(".elem:first").data("hasdata","popup");
$(".elem").each(function(){
  if ($(this).data("hasdata") === 'popup'){
    $(this).css({background:'red'});
  }
});

检查此jsFiddle

答案 2 :(得分:2)

试试这个:

$(".elem:first").attr("data-hasdata","popup");

$(".elem[data-hasdata='popup']").css({background:'red'});

JSfiddle Demo