怎么用js在子页面中获取到父页面的元素的id
点击父页面中的button,popup出一个子页面,怎样在子页面中获取到该button的ID?...
点击父页面中的button,popup出一个子页面,怎样在子页面中获取到该button的ID?
展开
1个回答
展开全部
你的子页面是一个iframe吗?如果是这样,你可以往iframe的url传入一个参数如btnid:
http://your-iframe-url.com/page/?btnid,子页面通过location.search获取到查询字符串“?btnid”,你自己去掉问号,就可以获取到父页面的btnid了。
我还是写个简单的例子吧:
父页面的js:
$(".btn").click(function(){
$("#child-frame").src="http://your-iframe-url.com/page/?"+this.id;
});
子页面的js:
var id = location.search.substr(1);
追问
不是iframe,并且请问能用js做不?不是jquery
追答
可以啊,你可以在click事件绑定的函数里传入参数,或者直接用this来获取触发click事件的dom对象:
$(".btn").click(function(){
alert(this.id);
// 这就是你所点击的按钮的ID,同理你可以通过this获取它的其他属性或参数
});
考虑到兼容性问题,用原生JS的话比较麻烦。你可以这样(IE9+):
var elems = document.querySelectorAll('.btn');
for (var i = 0, l = elems.length; i < l; i++) {
elems[i].addEventListener('click', function () {
alert(this.id);
}, false);
}
如果要兼容IE9以下的浏览器,你需要自己多写点东西来实现querySelectorAll和addEventListener的功能
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询