Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.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
Javascript JQuery。正在查找与特定数据()关联的div_Javascript_Jquery - Fatal编程技术网

Javascript JQuery。正在查找与特定数据()关联的div

Javascript JQuery。正在查找与特定数据()关联的div,javascript,jquery,Javascript,Jquery,使用data()函数,我将两个值添加到一些div($oRow指向div) 稍后,我将尝试查找div(只有一个),它有一个特定的moreIndex 我是这样做的: $oMore = $(".meter_battery_row").filter(function(){ return $.data(this, "more").moreIndex == 4; }); 但它似乎不起作用。在上面这一行之后,我显示了window.

使用
data()
函数,我将两个值添加到一些
div
$oRow
指向div)

稍后,我将尝试查找
div
(只有一个),它有一个特定的
moreIndex

我是这样做的:

$oMore = $(".meter_battery_row").filter(function(){
                   return $.data(this, "more").moreIndex == 4;
                   }); 
但它似乎不起作用。在上面这一行之后,我显示了window.alert($oMore),但它似乎没有到达这一行,因此它在filter函数中运行时遇到了某种问题

有人有什么想法吗

编辑

.meter\u battery\u row
是我附加数据值的
div类。(
$oRow
属于
.meter\u battery\u row

通常,
.data()
函数将自定义值作为
数据-…
前缀属性添加到div中

您可以使用获取指定的div

检查您试图使用firebug选择的元素,您将看到moreIndex被保存为div元素的属性

通常,
.data()
函数将自定义值作为
数据-…
前缀属性添加到div中

您可以使用获取指定的div


使用firebug检查您试图选择的元素,您将看到您的moreIndex被保存为div元素的属性。

您可以添加它的data-attribute,这样您可以在之后更轻松地检索它,并且仍然使用
$.fn.data()


下面是。

您可以添加它的data-attribute,这样您可以在以后更轻松地检索它,并且仍然使用
$.fn.data()

这是。

首先检查
$数据(此“更多”)

否则,当并非所有元素都有更多数据时,您将收到一个错误,并且过滤将停止。

首先检查
$.data(此“更多”)


否则,当并非所有元素都有更多数据时,您将收到一个错误,并且过滤将停止。

问题是,当您调用
$.data(这个“更多”)
时,只有一个元素将返回对象
{moreValue:750,moreIndex:4}
,其余元素将返回未定义的。然后,当您调用
undefined.moreIndex
时,您将得到一个错误。尝试这样做:

 return $.data(this, "more") && $.data(this, "more").moreIndex == 4;

问题是,当调用
$.data(这个“more”)
时,只有一个元素将返回对象
{moreValue:750,moreIndex:4}
,其余元素将返回未定义的对象。然后,当您调用
undefined.moreIndex
时,您将得到一个错误。尝试这样做:

 return $.data(this, "more") && $.data(this, "more").moreIndex == 4;

它对我很好它对我很好
$.fn.data
实际上没有添加数据smthng属性,您必须使用
$.fn.attr
$.fn.data
实际上没有添加数据smthng属性,您必须使用
$.fn.attr
$oRow.attr('data-moreIndex', 4).attr('data-moreValue', 750);
// ...
$oMore = $('.meter_battery_row[data-moreIndex="4"]');
return  ($.data(this, "more") && $.data(this, "more").moreIndex == 4);
 return $.data(this, "more") && $.data(this, "more").moreIndex == 4;