高德地图子页面(是通过iframe嵌套进去的,同时子页面在父页面弹框中)传值父页面---(Jquery的parent和parents)
子页面(是通过iframe嵌套进去的)传值父页面
问题描述:
是通过iframe嵌套进去的,同时子页面在父页面弹框中,子页面的值无法传递过去??
最终显示的功能需求----如图所示
代码结构
<div class="paging">
<div class="btnStyle" id="btns">
<img src="images/btn-x.png"/>
</div>
<iframe src="" id="jcdPop" width="100%" height="99%" frameborder="no" border="0" marginwidth="0" marginheight="0" "></iframe>
</div>
父页面的代码结构
function unitData(unitName,ints) {
//unitName和int 是通过子页面传值到父页面
请求数据这一块在此省略了.....
}
if(depths==''){
unitData(unitName,ints);
}
子页面的代码结构----传值到父页面上
$('.itemName').on('click', function() {
var itemNames = $(this).text();// 获取需要传的值
parent.itemNames(itemNames); // 通过jquery中 parent属性 传递给父元素
parent.$('.btnStyle').click(); //通过子页面控制父页面弹框隐藏的点击事件
})
传值的问题—Jquery的parent和parents(找到某一特定的祖先元素)
关于Jquery的parent和parents
parent是指取得一个包含着所有匹配元素的唯一父元素的元素集合。
parents则是取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选。
可以看出parent取的很明确,就是当前元素的父元素;parents则是当前元素的祖先元素。下面列出例子说明:
<div id='div1'>
<div id='div2'><span></span></div>
<div id='div3' class='a'><span></span></div>
<div id='div4'><span></span></div>
</div>
$(‘span’).parent()取到的是div2,div3,div4
$(‘span’).parent(’.a’)取到的是div3
$(‘span’).parent().parent()取到的是div1。
$(‘span’).parents()取到的是div1,div2,div3,div4
$(‘span’).parents(’.a’)取到的是div3