如何通过行索引(indexRow)获取表格中隐藏input的ID?
嘿,我来帮你搞定这个需求!你只需要在获取行索引的基础上,新增定位目标行、查找行内隐藏input并提取ID的逻辑就行,具体修改方案如下:
实现步骤与修改后代码
- 保留你原本获取行索引的逻辑
- 通过索引定位到对应的
<tr>行元素 - 在该行内精准查找
type="hidden"的input标签 - 提取并输出该input的
id属性值
修改后的完整代码:
function getValue(elt) { // 1. 获取目标行的索引 const indexRow = elt.parentNode.parentNode.parentNode.rowIndex; // 2. 通过索引定位对应行(注意:rowIndex通常从0开始,若表格有thead可根据实际情况调整) const targetRow = document.querySelectorAll('tbody tr')[indexRow]; // 也可以用:nth-child语法,注意这里要把索引转成从1开始的序号: // const targetRow = document.querySelector(`tbody tr:nth-child(${indexRow + 1})`); // 3. 在目标行内查找隐藏input const hiddenInput = targetRow.querySelector('input[type="hidden"]'); // 4. 获取并打印隐藏input的ID(加判断避免找不到元素时报错) if (hiddenInput) { const hiddenInputId = hiddenInput.id; console.log('对应行隐藏input的ID:', hiddenInputId); return hiddenInputId; } else { console.log('当前行未找到隐藏类型的input'); return null; } }
小提示
- 不同浏览器对
rowIndex的起始值可能有差异,要是发现定位的行不对,可以试试给indexRow加1或者减1来调整 - 用
querySelector系列方法可读性更强,也能适配更复杂的表格结构;如果你的表格结构非常固定,也可以用getElementsByTagName替代,但前者更灵活
内容的提问来源于stack exchange,提问作者fatma_wings
相关产品推荐
相关产品推荐

