在JavaScript中,获取表格(<table>
)中选中行的值通常涉及到以下几个步骤:
以下是一个简单的示例,展示如何获取表格中选中行的值:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Table Selection Example</title>
<style>
.selected {
background-color: #ffff99;
}
</style>
</head>
<body>
<table id="myTable" border="1">
<tr><td>Row 1, Cell 1</td><td>Row 1, Cell 2</td></tr>
<tr><td>Row 2, Cell 1</td><td>Row 2, Cell 2</td></tr>
<tr><td>Row 3, Cell 1</td><td>Row 3, Cell 2</td></tr>
</table>
<script>
document.addEventListener('DOMContentLoaded', function() {
var table = document.getElementById('myTable');
var rows = table.getElementsByTagName('tr');
for (var i = 0; i < rows.length; i++) {
rows[i].addEventListener('click', function() {
// Remove the 'selected' class from all rows
for (var j = 0; j < rows.length; j++) {
rows[j].classList.remove('selected');
}
// Add the 'selected' class to the clicked row
this.classList.add('selected');
// Get the values of the clicked row
var cells = this.getElementsByTagName('td');
var rowData = [];
for (var k = 0; k < cells.length; k++) {
rowData.push(cells[k].innerText);
}
console.log(rowData);
});
}
});
</script>
</body>
</html>
问题:点击某一行时,没有反应或者选中了多行。 原因:可能是事件监听器没有正确绑定,或者样式类没有正确应用。 解决方法:
DOMContentLoaded
事件已触发,DOM元素已经加载完毕。通过上述步骤和示例代码,你可以实现基本的表格行选中功能,并根据需要进行扩展和优化。
领取专属 10元无门槛券
手把手带您无忧上云