有两种特殊的文档属性可用来访问根节点:
document.documentElement.firstChild 等价于 Head
网页错误详细信息
用户代理: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
时间戳: Sat, 12 Feb 2011 08:05:12 UTC
消息: 无法设置 innerHTML 属性。 该操作的目标元件无效。
行: 122
字符: 1
代码: 0
URI: http://172.16.168.4:3780/toolbar/toolbar.js
为什么这样生成的ifram不可以动态插入dom或html
iframe的document引用dom
dom.open();
dom.write(’<html><head></head><body class="tb-htmleditor-editor-content">’);
dom.write(’</body></html>’);
dom.close();
然后取得HEAD
var dHead = dom.getElementsByTagName(’HEAD’)[0];
var dll = document.createElement(’SCRIPT’);
dll.src = ’dummy.js’;
dHead.appendChild(dll); // 这个地方就报错了。错误: 参数无效。
改为dHead.innerHTML = ’xxx’; 来测试,也报错。错误: 无法设置 innerHTML 属性。 该操作的目标元件无效。
再测试dom.body.innerHTML = ’xx’; 这个成功
dom.body.appendChild() // 插入一个div时,也报错: 参数无效。
请问该怎么解决?
然后取得HEAD
var dHead = dom.getElementsByTagName(’HEAD’)[0];
// 出错代码是这里,这里不应该用document.createElement
// 而应该用iframe的引用来创建元素dom.createElement(’SCRIPT’);
var dll = document.createElement(’SCRIPT’);
dll.src = ’dummy.js’;
dHead.appendChild(dll);