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

dan*_*elb 5 javascript each jquery loops

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

    $(':input', '#all').each(function() {
       alert(this.value);                 
    });
Run Code Online (Sandbox Code Playgroud)

bil*_*can 6

是的,它是可接受的,更具可读性,并且比呼叫更便宜(更快)$(this).val().

简单地说,$(this)指的是jQuery对象,同时this指的是DOM元素.

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

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

我还建议阅读以下内容:

$(this)vs jQuery中的这个

jQuery:'$(this)'和'this'之间有什么区别?

何时使用Vanilla JavaScript与jQuery?

利用最真棒-幂的jquery的对访问属性-的-AN-元件

这揭开神秘面纱