2

我正在尝试创建一个 jQuery 搜索,它将找到刚刚更改数据属性的元素。搜索不起作用。这是 Javascript(从 CoffeeScript 编译):

new_temp_value = "" + (Math.round((new Date()).getTime() / 1000));
console.log("new_temp_value is " + new_temp_value);
$activity_div.data('temp', new_temp_value);
console.log('value of data-temp in $activity_div is now');
console.log($activity_div.data('temp'));
console.log($activity_div.hasClass('activity_div'));
console.log($(".activity_div[data-temp='" + new_temp_value + "']"));

输出

new_temp_value is 1336020404
value of data-temp in $activity_div is now
1336020404
true
[]

出了什么问题?

4

2 回答 2

3

您的意思是使用.data('temp', '')or.attr('data-temp', '')吗?这是两个不同的东西。试试后者,它会起作用的。

于 2012-05-03T05:01:14.920 回答
2

使用.attr() 而不是更新.data().data()目前还没有更新 DOM。

new_temp_value = "" + (Math.round((new Date()).getTime() / 1000));
console.log("new_temp_value is " + new_temp_value);
$activity_div.attr('data-temp', new_temp_value);
console.log('value of data-temp in $activity_div is now');
console.log($activity_div.data('temp'));
console.log($(".activity_div[data-temp='" + new_temp_value + "']"));
于 2012-05-03T05:04:48.603 回答