Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.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中定位迭代对象的子元素?_Javascript_Jquery_Foreach_Each - Fatal编程技术网

如何在JavaScript中定位迭代对象的子元素?

如何在JavaScript中定位迭代对象的子元素?,javascript,jquery,foreach,each,Javascript,Jquery,Foreach,Each,在本例中,我只想针对具有thead标记的表 我尝试使用JavaScript或jQuery连接或搜索,以速度更快的为准 e、 gthead=DT[i].儿童('thead') 函数go(){ var i=0, DT=document.getElementsByClassName('DT'); 对于(i;i

在本例中,我只想针对具有thead标记的表

我尝试使用JavaScript或jQuery连接或搜索,以速度更快的为准

e、 g
thead=DT[i].儿童('thead')

函数go(){ var i=0, DT=document.getElementsByClassName('DT'); 对于(i;i

th
运输署
泰德
运输署

您不需要任何循环,可以使用jQuery的
:has()
选择器根据元素是否包含指定的子元素来检索元素,如下所示:

函数go(){ $('.DT').has('thead').addClass('foo'); } go()
.foo{border:1px solid#C00;}

th
运输署
泰德
运输署

您可以使用
querySelector
检查嵌套的
thead
是否存在

if (x.querySelector("thead")) {
  //do stuff to this table
}
正如你所知道的,你会这样做来完成你最初的尝试:

if ($(x).find("thead").length) {
  //do stuff to this table
}

这只是为了展示如何从给定上下文执行DOM选择。

$('.dtthead').parent().addClass('foo')这也会做同样的事情,不是吗?是的,虽然稍微详细一点,但这让我走上了正确的轨道。我使用了
$('.DT')。根据jQuery的建议,has('thead')
。很高兴你把它整理好了。老实说,我以前没有在文件中看到过这样的警告。我将更新答案,以防将来有访客访问此问题。虽然
似乎是一条可行之路,但我在使用循环时遇到了一些问题,您的
查找
解决方案对我来说很有效。谢谢