,可以通过以下步骤完成:
document.getElementById()
或document.querySelector()
,获取到HTML中的表格对象。rows
属性或getElementsByTagName()
方法,获取到表格中的所有行。cells
属性或getElementsByTagName()
方法获取每一行中的所有单元格,并找到需要过滤的三列的索引。innerHTML
属性获取单元格中的内容,并使用JavaScript的字符串处理方法,如indexOf()
或正则表达式,检查URL预先填充的内容是否满足过滤条件。display
属性为table-row
以显示行,或设置为none
以隐藏行。oninput
事件中触发过滤操作,或者在按钮点击事件中进行过滤。以下是一个示例代码,实现了基于URL预先填充的HTML表中三列的过滤:
// 获取表格对象
var table = document.getElementById("tableId");
// 获取需要过滤的列的索引
var columnIndices = [1, 3, 5]; // 假设需要过滤的列分别是第2、4、6列
// 过滤函数
function filterTable() {
var filter = document.getElementById("filterInput").value.toLowerCase(); // 获取用户输入的过滤条件
// 遍历表格的每一行
for (var i = 0; i < table.rows.length; i++) {
var row = table.rows[i];
var display = false; // 是否显示行
// 检查需要过滤的列的内容
for (var j = 0; j < columnIndices.length; j++) {
var cell = row.cells[columnIndices[j]];
var content = cell.innerHTML.toLowerCase(); // 获取单元格中的内容
// 判断内容是否包含过滤条件
if (content.indexOf(filter) > -1) {
display = true; // 显示行
break;
}
}
// 设置行的显示或隐藏
row.style.display = display ? "table-row" : "none";
}
}
// 监听输入框的输入事件,实时进行过滤
document.getElementById("filterInput").addEventListener("input", filterTable);
在以上示例代码中,使用了一个输入框(id为filterInput
)作为用户输入过滤条件的地方,并在输入框的input
事件中调用filterTable
函数进行过滤操作。可以根据实际需求进行相应的DOM元素选择和事件处理的修改。
希望这个答案能够满足您的需求,如果有其他问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云