javascript - 获取下一个表格单元格onclick javascript的值
问题描述
我正在尝试获取我单击的单元格右侧的单元格值。
但是现在我得到了我想要的单元格的值,但是我可以单击该行中的任何单元格并获得所需的值。但它应该只适用于第一列。所以我点击第一列中的任何单元格,我想得到它的下一个相邻单元格值。
document.querySelector("#tableEventListId").addEventListener("click",event => {
let dataTr = event.target.parentNode;
let deleteEventId = dataTr.querySelectorAll("td")[1].innerText;
console.log(deleteEventId);
alert(deleteEventId);
有什么帮助吗?
解决方案
您可以使用nextElementSibling
document.getElementById('table1').onclick = function(event){
//REM: Target
var tElement = event.target;
if(
//REM: Only cells (=<td>)
tElement.tagName === 'TD' &&
//REM: Only first column cells
tElement.parentNode.firstElementChild === tElement
){
//REM: Next Elementsibling of Target or Null
var tNext = tElement.nextElementSibling;
if(tNext){
console.log('TD: ', tElement.textContent);
console.log('Next: ', tElement.nextElementSibling.textContent)
}
}
}
table, td{
border: 1px solid black
}
<table id = 'table1'>
<thead>
<tr>
<th>A</th>
<th>B</th>
<th>C</th>
</tr>
</thead>
<tbody>
<tr>
<td>A1</td>
<td>B1</td>
<td>C1</td>
</tr>
<tr>
<td>A2</td>
<td>B2</td>
<td>C2</td>
</tr>
<tr>
<td>A3</td>
<td>B3</td>
<td>C3</td>
</tr>
</tbody>
</table>
推荐阅读
- html - 我可以在 HTML 中使用 StackOverflow 格式吗?
- azure - 日历是否被视为基于 Azure AD 的资源?
- java - 无法在 Android Studio 中添加组件
- node.js - 如何使用 POST 响应的一部分作为另一个 post 请求的参数?(GraphQL 的分页)
- python-3.x - 尝试预测多个值时,Keras“检查输入时出错”
- vuejs2 - 为什么没有安装子组件?
- android-studio - 使用 Kotlin,在尝试使用分类器“Intent”时出现错误提示“没有伴随对象
- dc.js - 来自交叉过滤器数据集的年度统计数据
- javascript - 关闭 iFrame 后清除内存
- header - soapaction 标头没有通过