2012-06-07 153 views
3

$('#some-field').val()返回「something」還是空字符串?我認爲無論div是否可見,它都會返回值。但我一直在空弦。任何想法?JQuery - 從隱藏div內的輸入字段獲取值

<div style="display:none;"> 
    <form> 
     <input id="some-field" type="text" value="something" /> 
    </form> 
</div> 
+0

檢查您是否有任何其他字段/元素具有相同的ID。正如下面提到的那樣,只要它在DOM中,val()就會返回值。 –

+0

謝謝,夥計們。我會繼續研究導致這種奇怪行爲的原因。但至少我確信我的理解是正確的。 – weilin8

回答

4

試試這個:

$('div:hidden #some-field').val(); 

DEMO

即使$('#some-field').val();也會起作用,因爲知名度不影響,如果該元素屬於DOM。

DEMO

+0

如果您要通過ID選擇元素,則不需要額外的過濾器。 –

+0

@Vega hi隊友,我知道,我加入到我的回答 – thecodeparadox

3

它將返回something。可視性不會影響檢索值,因爲它仍然存在於DOM中。

+2

我希望我能給出兩個接受的答案。我改爲投票給你。 :) – weilin8