You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用querySelectorAll筛选包含特定子元素的DOM元素?

解决方案

完全可以通过单条查询语句实现,根据你使用的查询语法不同,可选方案如下:

1. CSS 选择器方案

用 tr:has(td) 即可直接匹配所有包含<td>子元素的<tr>元素:

/* 原生CSS选择器(支持:has选择器的浏览器/运行环境均可使用) */
tr:has(td)

如果是JavaScript原生DOM查询,写法如下:

const targetTrList = document.querySelectorAll('tr:has(td)')

2. XPath 方案

如果使用XPath查询,语句为:

//tr[td]

3. jQuery 兼容方案

如果是需要兼容低版本浏览器的jQuery环境,写法为:

const targetTrList = $('tr').has('td')

以上所有方案均为单条语句,可直接匹配你示例HTML中所有包裹了<td>的<tr>元素,不会匹配到仅包含<th>的表头行。

内容的提问来源于stack exchange,提问作者Cees Timmerman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 00:24:03