使用jQuery获取选择列表中第一个选项的值

使用jQuery获取选择列表中第一个选项的值,jquery,Jquery,出于某种原因,它总是返回null alert($(element).val("option :first-child").val()); 根据元素变量实际是什么,它会略有不同,但是: 如果元素是本机DOM元素: alert($(element).find("option:first-child").val()); 或者,如果元素已经是jQuery包装的元素,您可以简化为: alert(element.find("option:first-child").val()); 您尝试的内容中有

出于某种原因,它总是返回null

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

根据
元素
变量实际是什么,它会略有不同,但是:

如果
元素
是本机DOM元素:

alert($(element).find("option:first-child").val());
或者,如果
元素
已经是jQuery包装的元素,您可以简化为:

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

您尝试的内容中有两个bug:

  • 您正在使用
    val
    代替
    find
    select
  • 您在
    选项
    第一个子元素
    之间有一个空格,意思是“查找第一个子元素,它是选项元素的后代”

看起来您正在将val设置为“选项:第一个孩子”),然后尝试读取它。也许你是故意的

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

如何定义
element
?element是从某个地方传递的select,让我们仔细看看您的调用:
$(element)
使
element
成为jQuery对象
.val(“option:first child”)
将该对象的值(字面上)设置为字符序列
“option:first child”
.val()
获取
$(元素)
的值。我希望很明显这是行不通的。我知道,但如果您将其定义为
var element=$('select')
,则无需再次将其放在括号内,也无需删除空格后的选项,最重要的是,无需使用
$(element)。val(…
使用
$(element)。children(…