1.不同的窗口的jquery对象不同
2.data属性是存到jquery对象当中的
3.跨窗口获取data是获取不到的
父窗口代码:
$.each( $('.form_input'),function(index,elem){
$(elem).data('check',true);
});
子窗口代码:
var parentD=$(parent.window.document);
$.each(parentD.find('.form_input'),function(index,elem){
flat=$(elem).data('check');
console.log(flat)
})
子窗口打印的全部是undefine;因为子窗口中$(elem)的$不是父窗口中的jquery对象而是子窗口中的jquery对象,所以在获取data的时候是从子窗口jquery对象中获取,是获取不到的。
修改后的代码:
父窗口代码:
var myJquery=jQuery;
$.each( $('.form_input'),function(index,elem){
$(elem).data('check',true);
});
子窗口的代码:
var parentJquery=parent.window.myJquery;
var parentD=$(parent.window.document);
$.each(parentD.find('.form_input'),function(index,elem){
flat=parentJquery(elem).data('check');
console.log(flat);
})
这样就能正常输出。