基于数据属性查找元素的jQuery选择器是';行不通
我正在尝试创建一个jQuery搜索,它将查找刚刚更改了数据属性的元素。搜索不起作用。以下是Javascript(由CoffeeScript编译): 输出基于数据属性查找元素的jQuery选择器是';行不通,jquery,html,jquery-selectors,Jquery,Html,Jquery Selectors,我正在尝试创建一个jQuery搜索,它将查找刚刚更改了数据属性的元素。搜索不起作用。以下是Javascript(由CoffeeScript编译): 输出 new_temp_value is 1336020404 value of data-temp in $activity_div is now 1336020404 true [] 出了什么问题?您是想使用.data('temp','')还是.attr('data-temp','')?这是两件不同的事情。尝试后一种方法,它会起作用。使用.at
new_temp_value is 1336020404
value of data-temp in $activity_div is now
1336020404
true
[]
出了什么问题?您是想使用
.data('temp','')
还是.attr('data-temp','')
?这是两件不同的事情。尝试后一种方法,它会起作用。使用.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 + "']"));
IMHO当您操作数据时,新的数据值不是用html编写的。因此,当您尝试根据新的数据值查找DOM时,找不到它,
$activity\u div
的声明是什么样子的?等等。。。您可以使用数据作为选择器?@dbaseman您可以使用以下语句,$(“.activity\u div[data temp='”+new\u temp\u value+“]”).html()代码>并且它仍然有效,如果这是您的疑问所在的话。:)。
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 + "']"));