对于下拉列表,Jquery val()vs this.value

时间:2012-10-11 07:22:30

标签: javascript jquery loops each

下面的代码使用this.value来获取表单下拉列表的值。我一般只看到.val()使用过。以下方式是否可以接受跨浏览器(尤其是IE的旧版本)?谢谢!

    $(':input', '#all').each(function() {
       alert(this.value);                 
    });

2 个答案:

答案 0 :(得分:6)

是的,它比可以接受,更具可读性,并且比调用$(this).val()更便宜(更快)。

简单地说,$(this)指的是jQuery对象,而this指的是DOM元素。

FAQ here简要介绍了它(在'了解你的DOM属性和功能'下)

  

当本机DOM API足够时,你应该使用普通的“this”   $(this)当你需要jQuery的帮助时。

我还建议阅读以下内容:

$(this) vs this in jQuery

jQuery: What's the difference between '$(this)' and 'this'?

When to use Vanilla JavaScript vs. jQuery?

utilizing-the-awesome-power-of-jquery-to-access-properties-of-an-element

this demystified

答案 1 :(得分:-1)

这应该有效

对于JQuery val,您需要$(this).val()