2010-01-04 115 views
1

從螢火蟲:jQuery選擇問題

>>> $("form#commentform").serialize(); 
"username=&email=&comment=&verify=" 
>>> $("#commentform").serialize(); 
"" 
>>> $("form#commentform") 
[form#commentform] 
>>> $("#commentform") 
[div#commentform] 
>>> $("#commentform").length 
1 

這是很奇怪的,form#commentform作品,但#commentform沒有,爲什麼?

回答

2

您有兩個元素,編號爲commentform
這是無效的。 $('#commentform')只返回第一個不能序列化的第一個。

specs

匹配與給定id屬性的單個元素。

+0

我剛剛試過>>> >>> $(「#commentform」).length',輸出1. – user198729 2010-01-04 06:16:54

+0

這就是要點 - 它假定只有一個項目。在引擎蓋下,順便說一句,它使用'getElementById',它返回一個元素。 – Kobi 2010-01-04 06:19:57