2012-03-07 221 views
0

在我們的代碼,我發現下面一行: $("[^unitRow_]:checked")它的工作原理確定,但我知道它應該是$("[id^=unitRow_]:checked") 沒有:checked我有語法錯誤,而不[^unitRow_]我得到一些額外的值可以有人給我解釋一下怎麼運行的 ?jQuery選擇開始奇怪的行爲

$("[^unitRow_]:checked") returns 
[ 
<input type=​"checkbox" disabled=​"disabled" checked=​"checked" class=​"global-item-selectAll" id=​"unitRow_x88ce13f5asda6f6_x5e8dasdaa60d76533" name=​"unitRow_x88ce13f5075a26f6_x5e8cc08dsad533" qualification=​"x5e8cc08a6sdad3" unitid=​"x88ce13f5075a26f6">​ 
] 
$(":checked") 
[ 
<input type=​"checkbox" disabled=​"disabled" checked=​"checked" class=​"global-item-selectAll" id=​"unitRow_x88ce13f507as5a26f6_x5e8cc0dsa8a60d76533" name=​"unitRow_x88ce13fgfdg5075a26f6_x5e8cc08a6asd0d76533" qualification=​"x5e8fecc08a60d76533" unitid=​"x88ce13vref5075a26f6">​ 
, 
<option alt=​"Please select" selected=​"selected" style=​"width:​110px;​" title=​"Please select" value>​Please select​</option>​ 
, 
<option alt=​"Please select" style=​"width:​110px;​" title=​"Please select" value>​Please select​</option>​ 
, 
<option value=​"8" selected=​"selected">​Sep​</option>​ 
, 
<option value=​"2011" selected=​"selected">​2011​</option>​ 
] 

謝謝。

+0

所有你需要的解釋在這裏:http://api.jquery.com/attribute-starts-with-selector/。如果您可以向我們展示您正在使用的HTML,我們可能會更好地發現問題。 – 2012-03-07 09:47:52

回答

1

試試這個:

$('[id^="unitRow_"]:checked') 

enter image description here

+0

我知道[id^=「unitRow_」]是正確的,但爲什麼我的選擇器也可以工作 – user872761 2012-03-07 09:53:20

+0

@ user872761如果你編寫'[^ unitRow_]'你實際上是在說:任何屬於他的值以'^ unitRow_'開頭的屬性 – 2012-03-07 10:06:26