跨窗口获取data属性

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);

})
这样就能正常输出。

发布了28 篇原创文章 · 获赞 16 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/sunboylife/article/details/103635120