我有以下问题,一直没有找到解决办法。我正在使用一个动态生成的表格,它由4列组成:复选框、文本值和隐藏输入。
使用Firebug我发现了问题所在:
因为它引用了“DIV”而不是“input”。
我如何访问位于“DIV”内部且也在单元格内的“input”元素?
谢谢帮助。
echo "<tr><td><div class='input-containerh'><input type='checkbox'></div></td>";
echo "<td>" .$s. "</td>";
echo "<td>" .$L. and some vars............ "</td>";
echo "<td><input type='hidden' value=" . some vars.... "></td>";
echo "</tr>";
由于在某些浏览器中单元格过大,我希望格式化复选框。因此,我使用DIV格式化输入(复选框),这对我很有效。
现在的问题是一个 JavaScript 函数,它检测输入是否被选择,但现在无法正常工作:
function deleteRow(tableID) {
try {
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
for(var i=1; i<rowCount; i++) {
var row = table.rows[i];
var chkbox = row.cells[0].childNodes[0];
if(null != chkbox && true == chkbox.checked) {
table.deleteRow(i);
rowCount--;
i--;
}
使用Firebug我发现了问题所在:
var chkbox = row.cells[0].childNodes[0];
因为它引用了“DIV”而不是“input”。
我如何访问位于“DIV”内部且也在单元格内的“input”元素?
谢谢帮助。
row.cells[0].childNodes[0].childNodes[0]
或者row.cells[0].childNodes[0].getElementsByTagName("input")
? 这句话的意思是:在一个表格行中,获取第一列的第一个子元素的第一个子元素,或者获取第一列的第一个子元素中所有标签名为 "input" 的元素。 - DontVoteMeDownrow.cells[0].childNodes
上使用console.log
,并导航到输入。 - aug...getElementsByTagName("input")[0]
。 - Jan Turoň