Javascript + iframe:如何从iframe设置父元素HTMLTableElement?

时间:2015-07-24 12:55:17

标签: javascript iframe

我正在使用此代码获取父对象 -

alert(parent.document.getElementById('test:input'))

通过这样做,我得到了这个

[object HTMLTableElement] 

但每当我尝试访问它时,它都会说undefined

parent.document.getElementById('test:input').value

设置值也无效。

1 个答案:

答案 0 :(得分:2)

这是因为table元素没有value。它们具有子元素(可通过children [现代浏览器]或childNodes属性访问[childNodes也包含非元素子元素,如文本节点),但不包含valuevalue适用于inputselect元素。

您可以使用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>";