Javascript jquery从iframe访问window.parent的数据()
在父窗口中,我有:Javascript jquery从iframe访问window.parent的数据(),javascript,jquery,html,iframe,Javascript,Jquery,Html,Iframe,在父窗口中,我有: <input type=text size=100 id="picker1" data-listoption="1" data-type="size"> 然后在我的框架内 <script> $(document).ready(function(){ var parent_input = $("#picker1", window.parent.document); var searchdata = $(parent_input
<input type=text size=100 id="picker1" data-listoption="1" data-type="size">
然后在我的框架内
<script>
$(document).ready(function(){
var parent_input = $("#picker1", window.parent.document);
var searchdata = $(parent_input).data();
var listtype = $(parent_input).data('listoption');
console.log(searchdata);
console.log(listtype);
});
$(文档).ready(函数(){
var parent_input=$(“#picker1”,window.parent.document);
var searchdata=$(父输入).data();
var listtype=$(父输入).data('listoption');
console.log(searchdata);
console.log(listtype);
});
控制台中的两个输出均为空。这里缺少什么?Jquery不提供使用窗口的父级来确定选择器范围的功能。但是您可以使用
parent
从子级访问父级上的jQuery
尝试:
工作示例您无法访问另一个(父)帧的dom。您确定可以通过父窗口确定选择器的作用域吗?不确定您试图用此实现什么,但您是否尝试过html()而不是data()?另外,它是否在同一个域中?可能它不可访问。尝试调用
parent\u input.data('listoption')
而不调用$(parent\u input)
,它已经是jQuery对象了。我可以使用parent\u input.attr('data-listoption')获取单个数据值;我得到TypeError:window.opener在使用window.opener尝试时为null。$(“#picker1”)@BethB我提供了一把小提琴,但我可能误解了您的请求,我以为您使用的是新窗口而不是iframe。窗口。opener
用于访问弹出窗口的打开窗口。但是只要使用window.parent
或只是parent
就可以了,我已经编辑了您在这方面的答案。显然,它还需要将jQuery嵌入到父窗口中。@CBroe感谢您的帮助!
var parent_input = parent.$("#picker1");
var searchdata = $(parent_input).data();
var listtype = $(parent_input).data('listoption');
console.log(searchdata);
console.log(listtype);