Javascript 多个结果的find()
我使用find作为选项来选择内部Javascript 多个结果的find(),javascript,jquery,each,Javascript,Jquery,Each,我使用find作为选项来选择内部 $(".pauseAnomaly[data-id=78]").parent().parent().prev().find(".pauseaction").each(function (i) { pauseActionUI($(this).data("id")); }); 我想在每个上启动.pauseAction。pauseAction位于$(
$(".pauseAnomaly[data-id=78]").parent().parent().prev().find(".pauseaction").each(function (i) {
pauseActionUI($(this).data("id"));
});
我想在每个上启动.pauseAction
。pauseAction
位于$(“.pauseAnomaly[data id=78]”)中。parent().parent().prev()。
在这里,当有一个.pauseaction
时,它可以完美地工作,但当有多个时,它就什么都没有了。为什么?如何解决这个问题
换句话说
当我这样做的时候
$(".pauseAnomaly[data-id=35]").parent().parent().prev().find(".pauseaction").each(function (i) {
alert($(this).data("id"));
});
当有一个.pauseaction
时,它返回一个id,但当有多个.pauseaction
时,它返回我[]
,但我希望看到所有id并对所有id应用funcito,为什么以及如何
我认为find()
只返回一个元素,所以如果它是真的,我如何进行更改以获得所有元素
下面是当I$(“.pauseAnomaly[data id=14]”)时的代码。parent().parent().prev()
正文
正文
03/04/2015
挑选
| | /
正文
正文
03/04/2015
挑选
| | /
正文
正文
27/03/2012
挑选
| | /
您能尝试一下您的每个功能吗:
$(this)[i].data('id')
如果这不起作用,请尝试:
$($(this)[i]).data('id')
我所做的是选择找到的元素,因为它是一个数组,所以在循环中选择特定的索引
例如,如果循环中的i=2,选择器将如下所示:
$(this)[2].data('id')
它将返回该数组中的3个元素问题在于选择器的情况,因为它需要是pauseAction
,而不是pauseAction
。下面是一个演示,说明了这一点
$("table").find(".pauseAction").each(function (i) {
alert($(this).data("id"));
});
因此,您的代码将变成(提供了.pauseAnomaly[data id=14]
选择器存在!):
Demo@提供所有相关代码(pauseActionUI()
,HTML标记???),因为在我看来,它应该可以工作。仅供参考,您最好使用parents('selector')
或closest('selector')
方法,而不是parent()。parent()
请同时提供相关的html。@A.Wolff:感谢您的关注。PaulActuoNUI只对元素进行一些更改,对于这个问题,我们可以考虑用警报(“”)替换ActuoUI。我添加了HTMLI,没有看到任何元素与匹配。pauseAnomaly[data id=35]“
选择器data()
是一个jQuery方法,[x]
返回一个DOM节点。因此,使用.eq(x)
$("table").find(".pauseAction").each(function (i) {
alert($(this).data("id"));
});
$(".pauseAnomaly[data-id=14]").parent().parent().prev().find(".pauseAction").each(function (i) {
alert($(this).data("id"));
});