2014-09-22 87 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()); 
相关问题