2014-09-22 104 views
1

由於某種原因,這總是返回null?使用jQuery獲取選擇列表中第一個選項的值

alert($(element).val("option :first-child").val()); 
+0

你是怎麼定義'element'的? – 2014-09-22 23:11:07

+0

元素是從某處傳遞的選擇 – 2014-09-22 23:12:04

+0

讓我們仔細看看你的調用:'$(element)'使'element'成爲一個jQuery對象。 '.val(「option:first-child」)'將該對象的值(字面上)設置爲字符序列'「選項:first-child」'。 '.val()'獲得'$(element)'的值。我希望很明顯,這是行不通的。 – 2014-09-22 23:13:08

回答

5

它會略有不同取決於什麼element變量實際上是,但是:

如果element是土生土長的DOM元素:

alert($(element).find("option:first-child").val()); 

或者,如果element是一個jQuery包裹元素已經可以簡化爲:

alert(element.find("option:first-child").val()); 

有在你試圖東西兩個錯誤:

  • 你代替find使用val內找到了select
  • 你有option:first-child之間的空間,這意味着「option找到第一個孩子這是的後裔一個選項元素「
2

看起來你正在設置val(「選項:第一個孩子」),然後嘗試閱讀它。也許你打算這樣做?

alert($(element).find("option:first-child").val()); 
相關問題