attr()不在IE中工作

时间:2013-07-25 23:18:47

标签: jquery internet-explorer attr

在这里浏览了一些类似的问题后,我找不到任何可以帮我解决问题的方法。在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()。如果是这样的话,还有另一种方法吗?提前谢谢!

1 个答案:

答案 0 :(得分:4)

nameid具有相同的规则,不能以数字开头,也不能以特殊字符开头,IE也不喜欢它......

在这种情况下,请使用data-属性,例如:

<a class="prevMonth" data-name="05,27,2013">month</a>

并从您的脚本中获取:

$(this).attr("data-name")$(this).data("name")

它甚至适用于IE6(如果你仍然使用jQuery的1.x版本):)