`

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的方法和属性值,...

    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)

    在JavaScript和jQuery的世界里,`this` 和 `$(this)` 是两个经常被提及的关键概念,它们在处理DOM操作和事件处理中扮演着重要的角色。理解它们的区别和应用场景对于编写高效、简洁的jQuery代码至关重要。 首先,`...

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

    下面我将用简洁的语言详细讲解jQuery中$this和$(this)的区别,并通过一个具体的例子来加深理解。 首先,我们需要明确this关键字在JavaScript和jQuery中的含义。在JavaScript中,this关键字指的是当前函数的上下文...

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

    本文将对 jQuery 中的 $(this).index() 和 $.each 方法的使用进行详细介绍,并结合示例解释其在实际开发中的应用。 首先来看 $(this).index() 方法。在 jQuery 中,$(this) 常用于引用当前事件的元素对象,而 ....

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

    总结来说,jQuery的选择方法提供了丰富的选择DOM元素的方式,而`$(this)`则帮助我们在事件处理中定位到触发事件的元素,两者结合使用,能够实现精准且高效的DOM操作。对于任何前端开发者来说,掌握这些基本技能是必...

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

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

    JQuery this 和 $(this) 的区别

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

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

    为了满足这些特殊需求,jQuery允许用户自定义添加方法到它的核心功能中,这就包括自定义添加"$"符号的方法。以下我们将详细探讨如何实现这一过程以及解决可能出现的"$"冲突问题。 1. **自定义添加 "$" 方法** 在...

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

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

    jquery $(this).attr $(this).val方法使用介绍

    在JavaScript的jQuery库中,`$(this)`是一个非常重要的对象,它代表当前上下文中的DOM元素。`$(this).attr()`和`$(this).val()`是两个常用的jQuery方法,用于处理DOM元素的属性(attributes)和值(values)。下面将...

    vue基本环境+jquery ajax应用

    在Vue项目中,你可以通过全局安装jQuery,然后在Vue组件内使用`this.$ajax`(需要在Vue原型链上挂载jQuery)或者在Vue实例的`beforeCreate`或`created`钩子中初始化jQuery并进行AJAX请求。 下面是一个使用jQuery ...

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

    在日常的Web开发中,jQuery作为流行的JavaScript库,为我们提供了丰富便捷的DOM操作与事件处理功能。但是,有时候我们需要扩展jQuery库的功能来适应特殊的业务需求,这时就需要自定义添加“$”符号的方法,并解决...

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

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

Global site tag (gtag.js) - Google Analytics