如何从其他帧访问帧的元素。对于Ex:
main.html中:
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</head>
<frameset rows="33%,33%,*">
<frame class="fra" src="frame1.html"/>
<frame class="fra" src="frame2.html"/>
</frameset>
</html>
frame1.html:
<html>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</HEAD>
<body>
<b><p id="para"> This is frame one.html </p></b>
</body>
</html>
frame2.html:
<html>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
</HEAD>
<body>
<b><p id="para"> This is frame two.html </p></b>
<button id="but"> Get data </button>
<script>
$(document).ready(function(){
$("#but").click(function(){
alert(window.frames[0].document.getElementById('para'));
});
});
</script>
</body>
</html>
从frame2点击按钮后,我需要获取&#34; para&#34;的数据。在frame1中出现的id元素。所以,我试图访问该元素如图所示 下面。但它没有奏效。
window.frames[0].document.getElementById('para')
它将错误显示为:
未捕获的TypeError:无法读取属性&#39;文档&#39;未定义的
所以,window.frames[0]
本身未定义
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:1)
您应该在iframe上添加ID,例如&#34; iframe1&#34;和&#34; iframe2&#34;。
<frame class="fra" src="frame1.html" id="frame1" />
<frame class="fra" src="frame2.html" id="frame2" />
然后:
$(window.parent.document).find("#iframe1").contents().find("#para")
应该允许你从iframe2访问id为#34; para&#34;的元素。第一帧。
$(window.parent.document)将允许您从iframe2返回到主文档,然后找到iframe1,然后contents()将允许您进入iframe1,在那里您将能够找到& #34;#段&#34;元件。