这是main.html
<body>
<iframe id="frame" src="frame.html"></iframe>
<script type="text/javascript">
document.getElementById('frame').contentWindow.document.getElementById('test').innerHtml = 'abcdefgh';
</script>
</body>
这是frame.html
<body>
<p id="test">0123456798</p>
<script type="text/javascript"></script>
</body>
错误:未捕获TypeError:无法设置null
的属性'innerHTML'
为什么不起作用,以及如何更改id="test"
文字
答案 0 :(得分:0)
使用setTimeout()
延迟您的脚本。 iframe
需要加载时间。
<iframe id="frame" src="frame.html"></iframe>
<script type="text/javascript">
setTimeout(function(){
document.getElementById('frame').contentWindow.document.getElementById('test').innerHTML = 'abcdefgh';
},800);
</script>
注意innerHTML()
上的大写字母。
答案 1 :(得分:0)
您好,这里有解决方案
setTimeout(function(){ var iframe = document.getElementById('frame'); console.log(iframe); });
希望有所帮助