我正在尝试创建一个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
[]
出了什么问题?
答案 0 :(得分:3)
您的意思是使用.data('temp', '')
还是.attr('data-temp', '')
?这是两件不同的事情。尝试后者,它会起作用。
答案 1 :(得分: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 + "']"));