2013-07-25 189 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

相關問題