可以通过设置表格的选取方式来解决表格选取问题。具体实现方法为:
在HTML文件中添加以下代码:
A1
A2
B1
B2
在CSS文件中添加以下代码:
table {
border-collapse: separate; /*设置表格边框分离*/
border-spacing: 0; /*设置相邻边框之间的距离*/
}
td {
border:1px solid black; /*设置单元格边框*/
}
在JavaScript文件中添加以下代码:
var mytable = document.getElementById("mytable");
mytable.addEventListener("mousedown", function(e) { /*监听鼠标按下事件*/
e.preventDefault(); /*阻止默认事件*/
var td = e.target.closest("td"); /*获取目标元素最近的td元素*/
if (td) {
var tr = td.parentNode; /*获取td元素的父元素tr*/
var table = tr.parentNode; /*获取tr元素的父元素table*/
var tdIndex = td.cellIndex; /*获取td元素所在列的索引*/
var trIndex = tr.rowIndex; /*获取tr元素所在行的索引*/
var selTable = document.createElement("table"); /*创建新的table元素*/
selTable.style.border = "2px solid blue"; /*设置新表格的边框*/
for (var i = 0; i < table.rows.length; i++) {
if (i >= trIndex) {
var newTr = selTable.insertRow(-1); /*在新表格中插入新的tr元素*/
for (var j = 0; j < table.rows[i].cells.length; j++) {
if (j >= tdIndex) {
newTr.insertCell(-1).innerHTML = table.rows[i].cells[j].innerHTML; /*在新表格中插入新的td元素*/
newTr.cells[newTr.cells.length-1].style.border = "1px solid black"; /*设置td元素的边框*/
}
}
}
}
document.body.appendChild(selTable); /*将新表格插入到body元素中*/
document.addEventListener("mousemove", onMouseMove); /*监听鼠标移动事件*/
document
上一篇:表格修改与外键冲突