Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于数据属性查找元素的jQuery选择器是';行不通_Jquery_Html_Jquery Selectors - Fatal编程技术网

基于数据属性查找元素的jQuery选择器是';行不通

基于数据属性查找元素的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

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

输出

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 + "']"));