怎么用js在子页面中获取到父页面的元素的id

点击父页面中的button,popup出一个子页面,怎样在子页面中获取到该button的ID?... 点击父页面中的button,popup出一个子页面,怎样在子页面中获取到该button的ID? 展开
 我来答
百度网友a819ed5
2014-06-04 · TA获得超过157个赞
知道答主
回答量:58
采纳率:100%
帮助的人:42.6万
展开全部

你的子页面是一个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的功能

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式