我有以下代码:
function create_row() {
var table = document.getElementById("main_table");
var n = table.rows.length;
var m = table.rows[0].cells.length;
var row = table.insertRow(-1);
var cell = row.insertCell(0);
cell.innerHTML = n;
var cell = row.insertCell(1);
cell.innerHTML = "<input size=10>";
for (i=2; i<m; i++) {
var cell = row.insertCell(i);
cell.innerHTML = "<input size=4>";
}
}
function print_values() {
var table = document.getElementById("main_table");
for (i=1; i<table.rows.length; i++) {
console.log(table.rows[i].cells[1].innerHTML);
}
}
然而,当我打印值时,我得到<input size="10">
。
问题是,当我创建一行时,我手动将一些值添加到表(在网页中),我想在日志中打印这些值。如何访问这些值,而不是输入的html?
我可能可以为每个输入表单分配一个id,然后访问value
关键字,但是想想也许使用表格单元格就足够了。
答案 0 :(得分:2)
input
元素是表格单元格的子元素。您必须使用.value
来获取输入的值,而不是.innerHTML
。
console.log(table.rows[i].cells[1].childNodes[0].value)
答案 1 :(得分:0)
您需要输入的内部,因此您必须选择该输入。
yourExistingSelector.querySelector("input").innerHTML
在你的情况下:
table.rows[i].cells[1].querySelector("input").innerHTML