Javascript 使用jquery从iframe更新父级
我有这个最小的测试用例 a、 htmlJavascript 使用jquery从iframe更新父级,javascript,jquery,html,iframe,Javascript,Jquery,Html,Iframe,我有这个最小的测试用例 a、 html <!DOCTYPE html> <html> <body> <input type="text" id="myinput"> <iframe id="frame" src="b.html" style="width:100%;height:100%" frameBorder="0"></iframe> </body> </html>
<!DOCTYPE html>
<html>
<body>
<input type="text" id="myinput">
<iframe id="frame" src="b.html" style="width:100%;height:100%" frameBorder="0"></iframe>
</body>
</html>
b、 html
<!DOCTYPE html>
<html>
<body>
<script>
function update_parent(value) {
window.parent.document.getElementById('myinput').value=value;
}
</script>
<a class="tag" name="something" href="javascript:void(0)" onclick="update_parent(something)"/>Bla Bla</a>
</body>
</html>
函数更新\u父级(值){
window.parent.document.getElementById('myinput')。value=value;
}
这里的目的是在iframe上单击按钮时更新父窗口中的输入框。正如您在上面看到的,我尝试使用纯javascript来实现它,但它也不起作用。如果可能的话,我想使用jquery来实现这一点。您的父元素将是window.self.top 您可以访问父元素的内容或文档 话虽如此,您的代码应该如下所示:
$(window.self.top.document).find('#myinput');
这将为您提供父元素中的元素
function update_parent(value) {
$('#myinput', window.parent.document).val(value);
}
$()包装的第二个参数是要搜索的上下文。这默认为document,因此传递父对象会将父对象设置为搜索上下文。对我来说效果很好:jQuery并不能完全替代javascript。你不需要为此更换所有的东西。