为什么这里的jQuery $(this)对象后面要加个下标[0]才有用啊?
下面是我的代码:
$("#uname").blur(function(){
if($(this)[0].value==""){
alert(2)
}
})//这是我慢慢误打误撞弄出来的。之前没$(this)没有加下标是没有弹框的 |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
$("#uname").blur(function(){if($(this)[0].value==""){alert(2)}})//jquery方法$("#uname").blur(function(){if($(this).val()==""){alert(2)}})//jquery方法$("#uname").blur(function(){if(this.value==""){alert(2)}})上面的三种方法都可以达到你想要的效果。因为 .value 是js的方法,$(this)是jquery的方法,如果想转换,用js的 .value方法的话,就要用【0】来转化。 |
|
|
|
|
jQuery对象与js对象之间的转换:$(this)[0],这种“jQuery对象”加下标的方式可以将“jQuery对象”转换为“js对象”,这样我们就可以使用“js对象”的属性和方法了;
$(this),使用$()包装“js对象”,是一种将“js对象”转换为“jQuery对象”的方式,这样我们就可以使用“jQuery对象”的方法了。
更进一步:
$($(this)[0]),可以再次包装“js对象”为“jQuery对象”,当然可以$($(this)[0])[0],将“jQuery对象”转换为“js对象” |
|
|
|
|