为什么我必须在选择器“:selected”之前放置一个空格字符?

时间:2014-11-29 07:44:56

标签: jquery

我正在尝试在dropdwonlist中选择所选项目。我发现我必须在#Color和:之间放置一个空格,否则我会得到一个未定义的对象。

$("#Color :selected").val()

但是要选择单选按钮,[name = ColorRadioButton]和:checked

之间必须没有空格
$("[name=ColorRadioButton]:checked").val()

这就是我想要的:
    http://jsfiddle.net/1a7m3r20/

为什么之前有空格:选择?

感谢。

1 个答案:

答案 0 :(得分:0)

您在第一种情况下实际使用的是descendant selector

格式为:"ancestor descendant"

它会返回匹配的后代 祖先

因此$("#Color :selected")将返回所选元素(在这种情况下为<option> #Color内(在这种情况下为<select>)。

选择器$("#Color:selected")不返回任何内容,因为当您选择选项时<select>元素本身不会获得selected属性。

选择器$("[name=ColorRadioButton]:checked")有效,因为单击单选按钮本身会获得checked属性。