首页 新闻 会员 周边

点击<button></button>使a标签跳转如何实现?

0
悬赏园豆:30 [已解决问题] 解决于 2014-08-11 18:13

如:<button><button>

  <a href="www.baidu.com"></a>

 

如何实现点击button,实现a标签跳转?

太阳风~Endless的主页 太阳风~Endless | 初学一级 | 园豆:8
提问于:2014-07-23 15:31
< >
分享
最佳答案
1

是这样子吗?

<button id="btn"></button>
<a href="www.baidu.com" id="link">link</a>
<script>
document.getElementById("btn").onclick=function(){
  document.getElementById("link").click();
}
</script>

收获园豆:30
琴剑飘零 | 菜鸟二级 |园豆:419 | 2014-07-23 15:45

试了试,貌似不行啊

太阳风~Endless | 园豆:8 (初学一级) | 2014-07-23 15:55

@太阳风~Endless: 我在chrome上测试没问题,难道是浏览器兼容问题?你用的啥浏览器啊?

琴剑飘零 | 园豆:419 (菜鸟二级) | 2014-07-23 16:01

@太阳风~Endless: 

document.getElementById("link").click();

你把我这一行前面的空格删掉再运行,不知道为什么,直接复制这里虽然看上去是空格,但浏览器会读出一些奇怪的字符来

琴剑飘零 | 园豆:419 (菜鸟二级) | 2014-07-23 16:10

@琴剑飘零: 这么写为什么运行不出来?

太阳风~Endless | 园豆:8 (初学一级) | 2014-07-23 17:33

@太阳风~Endless: 这还真是一个很诡异的问题,我搜了一下,http://mo2g.com/view/42/这个人的解释可能是对的,我也没有验证,不过为了这个往a里面加子标签感觉有点2,既然原生js的方式可以,你就先把jquery对象转成js对象再来做这个操作吧,如下:

$("#link").get(0).click();

琴剑飘零 | 园豆:419 (菜鸟二级) | 2014-07-23 18:02

@琴剑飘零: 先就这样吧,感谢!

太阳风~Endless | 园豆:8 (初学一级) | 2014-07-23 18:15
其他回答(2)
0

楼上的代码基本是没问题的。

不过从你贴的代码看,你的button没有闭合,你的a的href属性没有带http://。

如果需要从你贴的代码来跳转,需要如下代码:

var a=document.getElementsByTagName('a')[0],
        href=a.attributes['href'].nodeValue;
    var a1=document.createElement('a');
    a1.setAttribute('href','http://'+href);
    a1.click();
幻天芒 | 园豆:37175 (高人七级) | 2014-07-23 16:21
0

你这个想法就有问题,按钮去实现A跳转?

你直接在按钮上用JS跳转不就完事了。或者把按钮做成图片,在图片上加链接不就完事了。

Alex_QY1987 | 园豆:1888 (小虾三级) | 2014-07-23 17:18
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册