什么是更正确/有效的选择器?

时间:2009-10-14 10:24:45

标签: jquery selector

$("select").change(function() {

                alert($("select option:selected").val());

            });

OR

$("select").change(function() {

            alert($(this).attr("value"));

            });

我特意查看警报中使用的选择器。从我的 测试结果以显示相同的正确值。

2 个答案:

答案 0 :(得分:3)

他们不同。第一个将获取DOM中的第一个选定<option>的值(在任何<select>元素中)。

第二个可以正常工作,当然,有几个变体可以做同样的事情

$("select").change(function() {
            alert($(this).val());
            });

$("select").change(function() {
            alert($('option:selected', this).val());
            });

命名一对

答案 1 :(得分:1)

首先,它们并不等同。第一个将为您提供任何 select元素的选定选项的值,而第二个将为您提供仅更改的元素的值。

所以你绝对应该使用第二个例子。