2011-08-08 128 views
0

元字符jQuery的1.4.2,這是一個有效的選擇:屬性選擇包含jQuery的

$('input[name=test[0]]') 

jQuery中1.6.2它不是一個有效的選擇器,文檔狀態逃生與\的特殊字符。

我的問題是,在什麼版本中發生了這種情況,有人可以提供一個鏈接來討論這種變化嗎?

+0

...我不希望出現判斷性,但是:* ...爲什麼?*這是,正如書面,[脫離主題的Stackoverflow](http://stackoverflow.com/faq/)。 –

+0

隨時downvote和關閉,生病讓我的機會得到答案 – mkoryak

+0

我做;但我想知道是否有與您的問題有關的具體編程方面的問題尚未完全解釋,或者我有些遺漏。 –

回答

3

您發佈的選擇確實not work in jQuery 1.4.4, but does work in 1.4.2

在這裏看到完整的測試:http://jsfiddle.net/YPd4J/

摘要:

  • input[name=test[0]]錯誤1.6.2,不1.4.4工作,作品在1.4.2中
  • input[name="test[0]"]在所有版本中工作
  • input[name=test\\[0\\]]件作品1.6.2 & 1.4.2,而不是在所有版本1.4.4
  • input[name="test\\[0\\]"]作品

我還記得關於只要我能記得逃脫了在文檔中的元字符提醒(我從1.3.x開始就一直使用jQuery)......也許它從來沒有支持正式,但恰巧碰巧工作。

編輯:做了試驗1.4.4,然後看到你實際寫道1.4.2 ...更新測試:P

+0

**總是**引用您的屬性值,這將有助於緩解頭痛。 –

+0

值得注意的是,對於[attribute-equals selector](http://api.jquery.com/attribute-equals-selector/),引用值爲'mandatory'(來自API)。 –