JQuery this 和 $(this) 的区别

What is "this"?
In many object-oriented programming languages, this (or self) is a keyword which can be used in instance methods to refer to the object on which the currently executing method has been invoked.


代码如下:

$("#textbox").hover(
function() {
this.title = "Test";
},
fucntion() {
this.title = "OK”;
}
);

这里的this其实是一个Html 元素(textbox),textbox有text属性,所以这样写是完全没有什么问题的。
但是如果将this换成$(this)就不是那回事了,Error–报了。
Error Code:


代码如下:

$("#textbox").hover(
function() {
$(this).title = "Test";
},
function() {
$(this).title = "OK";
}
);

这里的$(this)是一个JQuery对象,而jQuery对象沒有title 属性,因此这样写是错误的。

JQuery拥有attr()方法可以get/set DOM对象的属性,所以正确的写法应该是这样:

正确的代码:


代码如下:

$("#textbox").hover(
function() {
$(this).attr('title', ‘Test');
},
function() {
$(this).attr('title', ‘OK');
}
);

使用JQuery的好处是它包裝了各种浏览器版本对DOM对象的操作,因此统一使用$(this)而不再用this应该是比较不错的选择。

(0)

相关推荐

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

    平时很少在jquery中用到this.查看代码时发现用到了,就调试出this的值,心想原来如此.还是挺有用的.这里总结一下this与$(this)的区别和使用. $(this)生成的是什么? $()生成的是什么呢?实际上$()=jquery(),就是说返回的是一个jquery的对象. 通常我们为了简便直接使用$().实际上,该函数省略了一个参数context.根据选择器选取匹配的对象即$(selector, context),以jQuery包装集的形式返回. context可以是Dom对象集合或

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

    // this其实是一个Html 元素. // $this 只是个变量名,加$是为说明其是个jquery对象. // 而$(this)是个转换,将this表示的dom对象转为jquery对象,这样就可以使用jquery提供的方法操作. (function($){ $.fn.hilight = function(options){ debug(this); var defaults = { foreground: 'red', background: 'yellow' }; var opts =

  • jQuery获取this当前对象子元素对象的方法

    如下所示: <select id="city"> <option value="beijing">北京</option> <option value="shanghai">上海</option> <option value="shenzhen">深圳</option> </select> $(function(){ $("

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

    1.JQuery this和$(this)的区别 相信很多刚接触JQuery的人,很多都会对$(this)和this的区别模糊不清,那么这两者有什么区别呢? 首先来看看JQuery中的  $()  这个符号,实际上这个符号在JQuery中相当于JQuery(),即$(this)=jquery();也就是说,这样可以返回一个jquery对象.那么,当你在网页中alert($('#id'));时,会弹出一个[object Object ],这个object对象,也就是jquery对象了. 那么,我们

  • 详谈jQuery中的this和$(this)

    网上有很多关于jQuery的this和$(this)的介绍,大多数只是理清了this和$(this)的指向,其实它是有应用场所的,不能一概而论在jQuery调用成员函数时,this就是指向dom对象. $(this)指向jQuery对象是无可厚非的,但this就是指向dom对象,这个是因为jQuery做了特殊的处理. 在创建dom的jQuery对象时,jQuery不仅仅为dom创建一个jQuery对象,而且还将dom存储在所创建对象的数组中. 复制代码 代码如下: elem = document

  • 浅谈jQuery before和insertBefore的区别

    jQuery 中利用before和insertBefore可以达到在指定元素前插入指定内容,写法上有区别 先看一个例子: 在<div class='div1'>div1</div>前面插入<div>toInsertContent</div> 实现: $('<div>toInsertContent</div>').insertBefore($('.div1')); 或者 $('.div1').before('<div>toI

  • jQuery之DOM对象和jQuery对象的转换与区别分析

    本文实例分析了DOM对象和jQuery对象的转换与区别.分享给大家供大家参考.具体分析如下: jQuery Hello World程序: <script type="text/javascript" src="xxx//jquery-x.y.z.js"> 引入jQuery.存在两个版本,jquery-x.y.z.min.js是精简压缩版,不带min的是开发版,代码中的注释和缩进等都被保留了. 注意路径中的"/"需要转义,即用"

  • JQuery的attr 与 val区别

    .attr(attributeName) attributeName:需要获取属性的名称. 获取匹配集中第一个元素的属性值.1.6中attr返回属性的值为undefined,如果没有设置(set).另外,.attr不应该在普通对象.数组(array).窗口(window)或者文档中(document).如果需要获取或者设置DOM属性,则应该使用.prop()方法. 使用.attr方法获取元素属性的值有两个主要优点: 方便(Convenience):这个方法可以在JQuery对象上直接调用和串联别

  • jQuery绑定事件方法及区别(bind,click,on,live,one)

    第一种方式: $(document).ready(function(){ $("#clickme").click(function(){ alert("hello world click") }) }) 第二种方式(简写方式为第一种): $('#clickmebind').bind("click", function(){ alert("Hello World bind"); }); 第三种方式: $('#clickmeon'

  • 深入理解JQuery keyUp和keyDown的区别

    定义和用法完整的 key press 过程分为两个部分:1. 按键被按下:2. 按键被松开. 当按钮被按下时,发生 keydown 事件. keydown() 方法触发 keydown 事件,或规定当发生 keydown 事件时运行的函数. 复制代码 代码如下: <html><head><script type="text/javascript" src="/jquery/jquery.js"></script><

  • JQuery this 和 $(this) 的区别

    What is "this"? In many object-oriented programming languages, this (or self) is a keyword which can be used in instance methods to refer to the object on which the currently executing method has been invoked. 复制代码 代码如下: $("#textbox").

  • jquery parent和parents的区别分析

    可以看出parent的取值很明确,就是当前元素的父元素:parents则是当前元素的祖先元素.下面列出例子说明: 复制代码 代码如下: <div id='div1'><div id='div2'><p></p></div><div id='div3' class='a'><p></p></div><div id='div4'><p></p></div>

  • Jquery find与filter函数区别 说明

    find()会在div元素内 寻找 class为classname的元素. filter()则是筛选div的class为classname的元素. 基本是find子元素找,filter是平级找 ·find 函数是在当前对象集合的子元素中进行查询; ·filter 函数是对当前对象集合进行过滤, 利用过滤条件缩小范围; ·find 函数的参数是 jQuery 选择器表达式; ·filter 的参数也是选择器表达式, 但可以有多个条件, 用逗号分隔(逻辑或关系); ·filter 的参数也可以是个函

随机推荐