2

在这里浏览了一些类似的问题后,我找不到任何可以帮助我解决问题的东西。在 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()。如果是这种情况,是否有替代方法?先感谢您!

4

1 回答 1

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 版):)

于 2013-07-25T23:31:09.263 回答