2013-07-25 140 views
2

在浏览这里的一些类似的问题后,我找不到任何东西来帮助我解决我的问题。在Chrome中它工作,得到IE浏览器,我得到 “一个,AN,NAN”attr()在IE浏览器不工作

的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

jQuery的哪个版本您使用的?和什么版本的IE? –

+0

哦,对不起,忘了提哈哈。使用本地副本1.9.1和使用IE9。需要它为IE8和7工作 –

+0

您是否尝试过'this.name'。由于它是锚标签的有效属性,我假设它必须在任何地方正确地给你名称。 – mohkhan

回答

3

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

+0

是的,它的工作原理,它帮助我进一步排除现在正在发生的事情!非常感谢你的帮助:) –

+0

但是,数据属性仅适用于支持html5的浏览器吗?我以为ie不支持html5 – pete

+0

'data-'只是一个属性,而旧的浏览器不知道如何处理它们,所以它被忽略,但'data-'不仅仅适用于启用HTML5的浏览器,它只是一个简单的传递更多信息的方式... – balexandre

相关问题