一、选中单元格所在行变色
选中单元格所在的行变色功能,在Web开发中是一个非常常见且实用的功能。下面我们将介绍如何用JavaScript和jQuery实现这个功能。
JavaScript实现:
<script>
function changeRowColor() {
var table = document.getElementById("myTable");
var cells = table.getElementsByTagName("td");
for (var i = 0; i < cells.length; i++) {
cells[i].onclick = function() {
var row = this.parentNode;
var siblings = row.getElementsByTagName("td");
for (var j = 0; j < siblings.length; j++) {
siblings[j].style.backgroundColor = "#fff";
}
row.style.backgroundColor = "#f2f2f2";
}
}
}
</script>
说明:
首先,通过getElementById()来获取要操作的表格元素,在本例中是表格ID为myTable的表格。接着,通过getElementsByTagName()获取表格中的所有单元格元素。接下来我们给所有单元格元素绑定onclick事件,当单元格被点击后,就会执行该事件。
接着在事件处理函数中,先获取当前单元格所在的行节点及该行节点下的所有同胞节点(即同一行的所有单元格节点)。接下来用循环语句遍历所有同胞节点并将它们的背景色设置为白色,然后将当前行节点的背景色设置为浅灰色。这样就可以实现选中行变色了。
jQuery实现:
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function(){
$("#myTable td").click(function(){
$(this).siblings().css("background-color","#fff");
$(this).parent().css("background-color","#f2f2f2");
});
});
</script>
说明:
我们首先加载了jQuery库。在代码中,通过选择器选中表格中的所有单元格元素,然后给它们绑定了click事件。当单元格被点击后,就会执行我们在事件函数中写的两行代码:通过siblings()方法选中当前单元格的所有同胞节点并将它们的背景色设置为白色,然后将当前单元格所在的行节点的背景色设置为浅灰色。
二、选中单元格所在列变色
选中单元格所在的列变色功能同样在Web开发中很常见,下面我们将介绍如何用JavaScript和jQuery分别实现这个功能。
JavaScript实现:
<script>
function changeColumnColor() {
var table = document.getElementById("myTable");
var cells = table.getElementsByTagName("td");
for (var i = 0; i < cells.length; i++) {
cells[i].onclick = function() {
var colIndex = this.cellIndex;
var rows = table.rows;
for (var j = 0; j < rows.length; j++) {
rows[j].cells[colIndex].style.backgroundColor = "#f2f2f2";
}
}
}
}
</script>
说明:
首先,通过getElementById()获取要操作的表格元素,在本例中是表格ID为myTable的表格。接着,通过getElementsByTagName()获取表格中的所有单元格元素。接下来我们给所有单元格元素绑定onclick事件,当单元格被点击后,就会执行该事件。
在事件处理函数中,首先获取当前单元格所在的列索引,即第几列。接着通过table.rows遍历表格中的所有行节点,并根据当前单元格所在列的索引设置每一行节点下的第colIndex个单元格节点的背景色为浅灰色,从而实现选中列变色。
jQuery实现:
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function(){
$("#myTable td").click(function(){
var colIndex = $(this).index();
$("#myTable tr").each(function(){
$(this).find("td:eq("+colIndex+")").css("background-color","#f2f2f2");
});
});
});
</script>
说明:
同样地,我们首先加载了jQuery库。在代码中,通过选择器选中表格中的所有单元格元素,然后给它们绑定了click事件。当单元格被点击后,就会执行我们在事件函数中写的两行代码:首先通过index()方法获取当前单元格所在的列索引,然后通过each()方法遍历所有行节点,在每一行节点下查找第colIndex个单元格节点,并将其背景色设置为浅灰色。这样就可以实现选中列变色了。
原创文章,作者:QJSQD,如若转载,请注明出处:https://www.506064.com/n/333195.html