如果它在每一行中搜索有问题的 td 的 innerHTML,那么我几乎需要它......但是我正在尝试从下面获取输入名称属性
<table>
<tbody>
<tr>
<td><input name="Client"></td>
</tr>
</tbody>
</table>
这是我目前所拥有的
var q = document.getElementById("q");
var v = q.value.toLowerCase();
var rows = document.getElementsByTagName("tr");
var on = 0;
for (var i = 0; i < rows.length; i++) {
var fullname = rows[i].getElementsByTagName("td");
fullname = fullname[0].innerHTML.toLowerCase();
if (fullname) {
if (v.length == 0 ||
(v.length < 3 && fullname.indexOf(v) == 0) ||
(v.length >= 3 && fullname.indexOf(v) > -1)) {
rows[i].style.display = "";
on++;
} else {
rows[i].style.display = "none";
}
}
}
var n = document.getElementById("noresults");
if (on == 0 && n) {
n.style.display = "";
document.getElementById("qt").innerHTML = q.value;
} else {
n.style.display = "none";
}
但是现在它只在 td
中指示....我如何通过上面的代码在 td 中查找输入的名称?
非常感谢。
最佳答案
您不需要为此编写大量代码。在大多数现代浏览器上这都有效。
//For 1 value
myInput = document.querySelector('#tablename td [name="Client"]');
console.log(myInput);
//For more values
myInput2 = document.querySelectorAll('#tablename td [name="Client"]');
console.log(myInput2); //it's an array now
//Like this?
myInput3 = document.querySelector('#tablename td [name]');
if(myInput3.getAttribute('name') == 'Client'){
myInput3.setAttribute('name', 'something');
}
console.log(myInput3.parentElement);
<table id="tablename">
<tr>
<td><input name="Client"></td>
</tr>
</table>
关于javascript - 在每行内的单元格内搜索标签名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42562628/