需求分析
假如我们项目有a,b两个HTML,a.html 如何获取到 b.html中元素的值呢?
具体实现
b页面有个 input
<input name="hh" type="text">
a页面HTML代码:
<!-- HTML代码, src="指向地址" -->
<!-- 如果不需要b页面展示在a页面, display: none;添加CSS代码隐藏掉 -->
<iframe id="b" src="b.html" style="display: none; "></iframe>
a页面JavaScript代码:
//为什么用 window.onload 下面会详解window.onload = function () {
//先取到iframe
var b= document.getElementById("b"); //通过iframe取其b.html上的值
var hh= b.contentDocument.getElementsByName("hh")[0].value; //弹出消息, 查看正确与否
alert(hh);
}
window.onload:页面所有资源加载完毕执行
$
(document).ready(function(){})(相当于jQuery中的$
(function(){}) ):页面的DOM节点创建完毕执行
如果使用 $(document).ready(function(){}) 会取不到值,为什么,答案很明显了:
iframe 节点虽然创建完毕,但是页面资源没加载完毕,但是这时候JS代码马上执行,结果就是取不到值,而 window.onload 会等页面资源全部加载完毕再执行JS代码
感谢阅读
以上是如何通过JavaScript获取iframe中元素的值的详细内容。更多信息请关注PHP中文网其他相关文章!