我正在使用此代码获取父对象 -
alert(parent.document.getElementById('test:input'))
通过这样做,我得到了这个
[object HTMLTableElement]
但每当我尝试访问它时,它都会说undefined
。
parent.document.getElementById('test:input').value
设置值也无效。
答案 0 :(得分:2)
这是因为table
元素没有value
。它们具有子元素(可通过children
[现代浏览器]或childNodes
属性访问[childNodes
也包含非元素子元素,如文本节点),但不包含value
。 value
适用于input
和select
元素。
您可以使用the DOM来访问和更新表格的内容。例如,如果表存在并且有一个tbody,这将在其中的第一个tbody
的末尾添加一行:
var table = parent.document.getElementById('test:input'),
tbody = table && table.querySelector("tbody");
if (tbody) {
tbody.insertAdjacentHTML("beforeend",
"<tr><td>Hi there</td></tr>"
);
}
如果您想完全替换其内容,可以指定为innerHTML
:
parent.document.getElementById('test:input').innerHTML =
"<tbody><tr><td>Hi there</td></tr></tbody>";