说一个常识性的东西,帮助自己回忆一下

一句话, $(this)是 jquery 的对象,而 this 是 html 元素对象 什么意思呢? $(this) 可以调用jquery 中的方法

1
2
$(this).val()
$(this).addClass()

而 this 是属于 html 的对象,属于原生 js,因此不能用 jq 中一些封装好的方法

1
2
this.value
this.id

这两者容易造成混淆的地方就是在调用 jq 方法时使用闭包的情景下:

1
2
3
$('#input').blur(function(){
		inputCheck(this)
});

inputCheck(param) 这个方法中在调用参数的时候就不能再使用 jqery 的方法了,会报函数找不到 的错误,因此需要转换一下,一般情景下的转换关系是这样的:

1
$(this)[0] == this