js如何改变

江子抑 2014-08-23 12:48:06
<iframe>所在页面:example.html中:

<iframe src="templates/right.html" id="right1" name="right1"></iframe>


src指向页面right.html<body>中部分内容

<p class="singer" id="singer">singer</p>
<p class="songs" id="songs">songs</p>


替换<p class="singer" id="singer">singer</p>内容 在example.html中添加如下js:

<script>
var iObj = document.getElementById('right1').contentDocument;
iObj.getElementById('singer').innerHTML="歌手";
</script>


火狐浏览器控制台显示:TypeError: iObj.getElementById(...) is null

<iframe>内的内容如何通过js进行替换呢?请大神指点
...全文
547 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
步慢生错 2014-08-23
  • 打赏
  • 举报
回复
最简单的,就是在iframe引用的页面里写 parent.setSinger() 父页面 写setSInger的实现函数。
江子抑 2014-08-23
  • 打赏
  • 举报
回复
引用 3 楼 showbo 的回复:
你那个代码在哪里执行的?应该是iframe还没有加载完毕导致找不到对象

<iframe src="templates/right.html" id="right1" name="right1" onload="setSinger()"></iframe>
<script>
function setSinger(){
  var iObj = document.getElementById('right1').contentWindow.document;    
  iObj.getElementById('singer').innerHTML="歌手";
}
</script>
js语句是写在<iframe>之后的 请问<iframe>是什么时候加载完毕呢?
  • 打赏
  • 举报
回复
你那个代码在哪里执行的?应该是iframe还没有加载完毕导致找不到对象

<iframe src="templates/right.html" id="right1" name="right1" onload="setSinger()"></iframe>
<script>
function setSinger(){
  var iObj = document.getElementById('right1').contentWindow.document;    
  iObj.getElementById('singer').innerHTML="歌手";
}
</script>
江子抑 2014-08-23
  • 打赏
  • 举报
回复
引用 1 楼 zzgzzg00 的回复:
contentDocument改成 contentWindow.document 试试
还是一样的错误提示
似梦飞花 2014-08-23
  • 打赏
  • 举报
回复
contentDocument改成 contentWindow.document 试试

87,995

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧