2011-09-08 39 views
2

我有這個JavaScript代碼工作正常jQuery的多層次選擇不工作,但做。孩子

var QuestionID = panel.siblings('.QuestionIDWrapper').children('input[type=hidden]').val(); 

,但如果我把它轉換使用多級jQuery選擇這樣的:

var QuestionID = panel.siblings('.QuestionIDWrapper input[type=hidden]').val(); 

我在QuestionID中沒有任何價值。

+3

有沒有機會看到實際的標記? –

+0

不要忘了標記asnwer爲接受,如果你有你想要的信息 –

回答

3

看一看文檔:http://api.jquery.com/siblings/ 您沒有提供實際的標記,但我認爲,雖然.QuestionIDWrapper是silbing,輸入[類型=隱藏]是不是直接silbing,只有silbings孩子。 (並且因此不匹配)

1

.QuestionIDWrapper input[type=hidden] - 爲此工作輸入元素必須是 immidiate QuestionIDWrapper類元素的子元素。

您正在使用:Descendant Selector (「ancestor descendant」)

凡在第一個你seching用於與特定選擇的切爾德桑elemtn。

+0

如果輸入[type = hidden]是.QuestionIDWrapper的一個孩子,爲什麼後代選擇器代碼不起作用?代碼是由ASPX HiddenField生成的,所以我懷疑它有一些額外的跨度等參與。 (我沒有檢查生成的代碼)。 –

2

如果與提供的選擇器匹配,第二個將只選擇panel的兄弟。由於你的輸入是panel的兄弟姐妹之一的孩子,那麼它不在同一級別(不是兄弟姐妹)。