锚标签onclick事件在IE,但不是在Firefox和Chrome

问题描述:

这里是HTML代码相关部分:锚标签onclick事件在IE,但不是在Firefox和Chrome

<一个ID = “兴趣” NAME = “兴趣的” href = “#” 值= 1的onclick = “警报(THIS.VALUE)”;“>有兴趣</A>

警报采值和在IE中运行时示出,但示出了在铬和Firefox未定义

任何想法,为什么

。?

有几件事情:在你的标签

1)多余的空格。 < a>应该是<a>

2)您的onclick属性中的额外报价。应该是onclick="alert(this.value);"

3)value不是锚元素的有效属性。

+0

是的,我给出了一个可行的解决方案。但即使如此,我仍然建议OP重新思考他们是如何实现这一切的,并且可能会从HTML中分离出JavaScript。 – theabraham 2012-07-14 15:19:40

+0

@ kennis--实施1和2.价值在IE中可用,但不适用于Firefox和Chrome。什么是有效的属性? – killben 2012-07-14 15:23:29

+0

我会争辩说,最简单的解决方案(尽管可能不是我会选择的那个)会使用按钮元素而不是锚点。按钮可以有一个值属性,并且由于这个例子中的锚实际上并不是一个链接,所以你根本没有真正改变功能。 – 2012-07-14 15:25:15

您可以使用新的HTML5 data- *属性,如下所示:

<a id="interest" name="interest" href="#" data-value="1" onclick="alert(this.dataset.value);">Interested</a>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​ 

这只适用于支持HTML5的浏览器。要访问数据 - 属性,你会使用附加到该元素的dataset对象(例如data-value变得dataset.value。)

+0

的作品。谢谢。对不支持HTML5的浏览器的任何建议 – killben 2012-07-14 15:37:20

+0

我认为IE 6,7和8.如果支持对你来说是一个问题,那么你可能想找到另一种方式去解决这个问题。 Kennis的解决方案(使用带有值属性的重新设置的按钮)可能会正常工作。 – theabraham 2012-07-14 15:53:45