在这里浏览了一些类似的问题后,我找不到任何可以帮我解决问题的方法。在Chrome中它可以工作,进入IE并获得“aN,AN,NAN”
HTML
<div class="dateSelect">
<div class="prev">
<a class="prevMonth" name="05,27,2013">month</a>
</div>
</div>
jQuery
$(".dateSelect a").click(function(event){
var dateParam = $(this).attr('name');
alert("link was clicked and value of NAME is: "+dateParam);
dateChange(dateParam);
event = event || window.event;
event.stopPropagation();
});
在Chrome中,它抓住了日期“05,27,2013”,但IE浏览器是“aN,aN,NaN” 我有一个偷偷摸摸的怀疑IE不喜欢attr()。如果是这样的话,还有另一种方法吗?提前谢谢!
答案 0 :(得分:4)
name
与id
具有相同的规则,不能以数字开头,也不能以特殊字符开头,IE也不喜欢它......
在这种情况下,请使用data-
属性,例如:
<a class="prevMonth" data-name="05,27,2013">month</a>
并从您的脚本中获取:
$(this).attr("data-name")
或$(this).data("name")
。
它甚至适用于IE6(如果你仍然使用jQuery的1.x版本):)