多表格页面使用document.querySelector获取tbody:是否需为表格设置ID?
问题解答
首先明确:当前代码里的document.querySelector('tbody')确实会自动选中那个唯一带有<tbody>的表格——因为querySelector的逻辑是返回文档中第一个匹配指定选择器的元素,而现在页面里只有这一个表格包含<tbody>,所以不会选错。
但更推荐给目标表格设置ID,原因有两点:
- 稳定性更强:如果后续页面迭代,新增了其他带
<tbody>的表格,querySelector('tbody')会优先选中第一个出现的,很可能偏离你原本要操作的目标表格;而用ID定位(比如document.querySelector('#target-table tbody'))就不会受这种结构变化影响。 - 可读性更好:其他开发者看代码时,能一眼明确你要操作的是哪个表格,不用去梳理页面结构猜哪个表格带
<tbody>。
另外补充:你提到的“两个表格包含<body>标签”应该是笔误,表格内的正确元素是<tbody>,<body>是整个HTML页面的主体容器标签,放在表格里不符合HTML规范,建议修正这个写法。
内容的提问来源于stack exchange,提问作者equanimity
相关产品推荐
相关产品推荐

