下面的代码使用 this.value 来获取表单下拉列表的值。我通常只看到使用.val()。以下方式是否可以跨浏览器接受(尤其是IE的旧版本)?谢谢!
$(':input', '#all').each(function() {
alert(this.value);
});
是的,它是可以接受的,更具可读性,并且比调用$(this).val()
更便宜(更快)。
简单地说,$(this)
指的是jQuery对象,而this
指的是DOM元素。
这里的常见问题解答简要地涉及它(在"了解你的 DOM 属性和函数"下)
当本机 DOM API 足够时,您应该使用普通的"this",并且 $(this) 当你需要 jQuery 的帮助时。
我还建议阅读以下内容:
$(this) vs this in jQuery
jQuery:"$(this)"和"this"有什么区别?
何时使用 Vanilla JavaScript 与 jQuery?
利用 jquery-of-the-awesome-power-of-jquery-to-access-properties-of-an-element
这揭开了神秘面纱
这应该有效
对于 JQuery val
您需要$(this).val()