javascript - 如何使用 querySelectorAll() 查找表行的第一个单元格
问题描述
我试图通过它的数据属性值来定位一个表。然后我想在该表中找到第一个,并为<td>
每个选定<tr>
的类添加一个类。<td>
我尝试了以下操作,但是我一直在理解错误的根源:
var mprimary = document.querySelectorAll("[data='regMultipleTable']");
for (var i = 0; i < mprimary.rows.length; i++) {
var firstTD = mprimary.rows[i].cells[0];
firstTD.className = 'your-the-first';
}
我的表如下所示:
<table data="regMultipleTable">
<tbody>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<tr>
<td>4</td>
<td>5</td>
<td>6</td>
<tr>
<td>7</td>
<td>8</td>
<td>9</td>
</tbody>
</table>
我想用值 1、4、7 等来定位 td...请帮助
解决方案
您可以使用以下选择器简化逻辑:
table[data='regMultipleTable'] td:first-child
这个选择器的意思是,“选择数据属性为'regMultipleTable'的表中每个父(行)的第一个td”。
在代码中,这可能如下所示:
var mprimary = document
.querySelectorAll("table[data='regMultipleTable'] td:first-child");
for (var node of mprimary) {
node.classList.add("your-the-first");
}
.your-the-first {
background:yellow;
}
<table data="regMultipleTable">
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>1</td>
<td>2</td>
</tr>
</table>
推荐阅读
- csv - 如何改为使用 read-csv-file 从字符串中读取?
- javascript - JavaScript 如何将字符串转换为嵌套对象
- java - 扫描仪的 JUnit 测试
- python - ResourceExhaustedError:分配具有形状 [16,224,224,256] 和类型 bool 的张量时出现 OOM
- c# - 创建完成后监视文件夹并复制新文件
- c++ - 为什么 Vec3b 不能初始化为数组?
- python - 在 Django 中使用 Celery:如何在任务中保存对象?
- node.js - npm 错误 - 验证 package.json 是否具有有效的“主”条目
- webpack - 如何使用 Next.js、Ant Design、Less 和 TypeScript 配置 Storybook.js Webpack
- javascript - 按过滤器排序数据,反应js