`

Jquery中的this与$(this)

 
阅读更多

$(this)生成的是什么

$()生成的是什么呢?实际上$()=jquery(),那么也就是说返回的是一个jquery的对象。

题外话:通常我们为了简便直接使用$(),实际上,该函数省略了一个参数context,即$(selector)=$(selector,document).如果指定context,可以指定context为一个dom元素集或者jquery对象。

那么依照,$()返回的是jquery对象这一结论,我们可以得出$(this)得到的是一个jquery对象.我们可以使用万能的alert()方法打印出一个对象:
alert($('#btn'));显示的结果:
test该图红色框勾选出来的是一个object,不用考虑,该object自然是jquery的对象咯。也即是说我们用通过$('#btn')来调用jquery的方法和属性等。

 

this代表什么?

this,编程的人都知道this表示上下文所处的这个对象,这个自然是不错的,可是这个对象到底是个什么对象呢?加入js里面也有getType的话返回的值会是什么呢?其实js里面不需要使用getType,因为我们有万能的alert.请看看下面的代码:

$('#btn').bind("click",function(){

alert(this);
alert($(this));

});

根据我们的经验(因为$()生成的是jquery的对象嘛),this自然是一个jquery的对象咯。可是我们看看返回的结果:
test1返回的是什么?【object HTMLInputElement】——伟大的html对象,嘿嘿。所以我们通常在直接使用this.val()或者直接通过this来调用jquery所特有的方法或属性的时候会报错误:mistake  为什么呢?明知故问!html对象当然“不包含属性或方法”了。那么为什么在一个jquery对象的上下文中调用this返回的是一个html对象而不是jquery对象 呢?翻遍jquery的api文档,貌似jquery中并未对this这一关键字进行过特殊“处理”,也就是说这里this是js中的,而不是jquery重新定义了的。so...当然这仅仅是我自己的想法,如果有对此更了解的朋友可以留言更正。而我们再看一下以上代码中alert($(this));的返回,自然是jquery的对象了,在此调用jquery特有的方法和属性,完全没有问题。
结论:
this,表示当前的上下文对象是一个html对象,可以调用html对象所拥有的属性,方法
$(this),代表的上下文对象是一个jquery的上下文对象,可以调用jquery的方法和属性值。
在jquery方法里,好像是指调用该方法的jquery对象。
分享到:
评论

相关推荐

    实例讲解JQuery中this和$(this)区别

    主要介绍了实例讲解JQuery中this和$(this)的区别,this表示当前的上下文对象是一个html对象,可以调用html对象所拥有的属性和方法,$(this),代表的上下文对象是一个jquery的上下文对象,可以调用jquery的方法和属性值,...

    详谈jQuery中的this和$(this)

    网上有很多关于jQuery的this和$(this)的介绍,大多数只是理清了this和$(this)的指向,其实它是有应用场所的,不能一概而论在jQuery调用成员函数时,this就是指向dom对象。 $(this)指向jQuery对象是无可厚非的,但...

    js原生态函数中使用jQuery中的 $(this)无效的解决方法.docx

    js原生态函数中使用jQuery中的$(this)无效的解决方法 在JavaScript开发中,使用jQuery的$(this)在原生态函数中可能会出现无效的问题,本文将对此进行详细的分析和解决方法的介绍。 一、问题描述 在JavaScript开发...

    浅谈jQuery this和$(this)的区别及获取$(this)子元素对象的方法

    首先来看看JQuery中的 $() 这个符号,实际上这个符号在JQuery中相当于JQuery(),即$(this)=jquery();也就是说,这样可以返回一个jquery对象。那么,当你在网页中alert($(‘#id’));时,会弹出一个[object...

    jQuery中$this和$(this)的区别介绍(一看就懂)

    // 而$(this)是个转换,将this表示的dom对象转为jquery对象,这样就可以使用jquery提供的方法操作。 (function($){ $.fn.hilight = function(options){ debug(this); var defaults = { foreground: 'red', ...

    jQuery 选择方法及$(this)用法实例分析

    本文实例讲述了jQuery 选择方法及$(this)用法。分享给大家供大家参考,具体如下: 选择方法 用方法来选择元素,可以视作$()函数的链式调用,返回仍然是一个jQuery对象 $(function() { //一、根据结果集中元素位置来...

    jQuery 中$(this).index与$.each的使用指南

    主要介绍了jQuery 中$(this).index与$.each的使用方法,以及使用环境,有需要的小伙伴自己参考下吧

    浅谈jquery中的each方法$.each、this.each、$.fn.each

    jquery.each 方法 方法一 $("img").each(function(i... //$(this)==数组中的每一个数组(如果数组是对象,就是对象) }); 方法三 应有场景有点不一样 this.each(function(){ }) 扩展jQuery对象方法 应该是 j

    jQuery自定义添加”$”与解决”$”冲突的方法

    本文实例讲述了jQuery自定义添加”$”与解决”$”冲突的方法。分享给大家供大家参考。具体分析如下: 1.自定义添加$ 虽然jQuery很强大,但无论如何,jQuery都不可能满足所有用户的需求,而且有一些需求十分小众,也...

    JQuery this 和 $(this) 的区别

    在JavaScript和JQuery中,`this` 和 `$(this)` 是两个不同的概念,它们在功能和用法上有所差异。了解这些差异对于编写高效的JQuery代码至关重要。 首先,`this` 是JavaScript中的一个关键字,它在不同的上下文中...

    js原生态函数中使用jQuery中的 $(this)无效的解决方法

    在JavaScript中,`$(this)` 是 jQuery 对象的一个常见用法,它通常代表当前上下文中的元素。然而,在某些情况下,特别是在涉及到异步操作,如 `setTimeout` 或 `$.ajax` 等函数内部,`this` 的指向会改变,不再指向...

    jquery与js函数冲突的两种解决方法.docx

    // 这里的$代表jQuery,不会与全局的$冲突 $(function() { $("div").click(function() { alert($(this).text()); }); }); })(jQuery); // 传入jQuery实例 // 全局作用域中,$仍然代表其他库 alert($("cr")); ...

    jQuery下通过$.browser来判断浏览器..docx

    在JavaScript的库jQuery中,`$.browser`是一个曾经用于检测用户浏览器类型和版本的工具,但自jQuery 1.9版本以后,它已经被废弃并建议使用`$.support`来代替。尽管如此,对于理解旧代码或者在仍使用较早jQuery版本的...

    对于this和$(this)的个人理解

    总结来说,`this`在JavaScript中代表当前上下文的对象,而在jQuery中,`$(this)`通常用于将JavaScript的`this`转换为jQuery对象,以便能够利用jQuery提供的便利方法。理解这两个概念对于编写高效的jQuery代码至关...

Global site tag (gtag.js) - Google Analytics