Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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 .closest(),类名返回空对象_Jquery_Html - Fatal编程技术网

Jquery .closest(),类名返回空对象

Jquery .closest(),类名返回空对象,jquery,html,Jquery,Html,从中得到启示,我采用了类似的方法,使用jQuery的.closest方法以元素为目标 HTML 编辑:我不能使用colspan属性遍历DOM,因为有时它甚至可能不存在 因此,为了演示,假设用户单击包含2的td。那么,在这种情况下,选择合适tr的方法是什么?您需要使用: $(this).closest('td[colspan="3"]').parent().prev(); 或 使用顶级父表: $(this).closest('#example').find('.open'); 这是因为。第一

从中得到启示,我采用了类似的方法,使用jQuery的.closest方法以元素为目标

HTML 编辑:我不能使用colspan属性遍历DOM,因为有时它甚至可能不存在

因此,为了演示,假设用户单击包含2的td。那么,在这种情况下,选择合适tr的方法是什么?

您需要使用:

 $(this).closest('td[colspan="3"]').parent().prev();

使用顶级父表:

$(this).closest('#example').find('.open');

这是因为。第一级不是openPlease类元素的后代,请先解决控制台错误,所以我想先搜索类似主题,然后尝试解决方案是没有用的。不管发生什么,选民们都会投反对票。你需要阅读,了解它是如何运作的。你所举的例子与你正在做的不同。最近的移动沿DOM向上移动-它不会向上和侧向移动。类的元素。open是包含类为第一级的元素的元素的同级,不是它的祖先..最近的'table'hmmmI将使用类似.find'.open'的函数而不是.prev作为元素的顺序进行预传递change@M_rk:噢,真的……如果find不是子元素,它将如何工作呢?@milind anantwar,方法是选择一个公共父元素,与其他示例一样,使用.closest。我没有说你应该省略这一部分,只是不要使用。然而,目前还没有一种切实可行的方法来选择最外层的表。我建议给这个表一个类,比如.outer table,这是因为OP并没有提供太多关于itouter表的信息。这是OP提供的唯一解决办法。
 $(this).closest('td[colspan="3"]').parent().prev();
 $(this).closest('table').closest('tr').prev();
$(this).closest('#example').find('.open');