`

jQuery选择器之特殊选择器this

 
阅读更多

 

 很多刚接触jQuery的人,都会对$(this)和this的区别模糊不清,那么这两者之间有什么区别呢?

 

this是JavaScript中的关键字,指的是当前的上下文对象,简单的说就是方法/属性的所有者。

 

下面例子中,imooc是一个对象,拥有name属性与getName方法,在getName中this指向了所属的对象imooc

var imooc = {
    name:"慕课网",
    getName:function(){
        //this,就是imooc对象
        return this.name;
    }
}
imooc.getName(); //慕课网
 

当然在JavaScript中this是动态的,也就是说这个上下文对象都是可以被动态改变的(可以通过call,apply等方法),具体的大家可以查阅相关资料

同样的在DOM中this就是指向了这个html元素对象,因为this就是DOM元素本身的一个引用

假如给页面一个P元素绑定一个事件:

p.addEventListener('click',function(){
    //this === p
    //以下两者的修改都是等价的
    this.style.color = "red";
    p.style.color = "red";
},false);

 

通过addEventListener绑定的事件回调中,this指向的是当前的dom对象,所以再次修改这样对象的样式,只需要通过this获取到引用即可

this.style.color = "red"

但是这样的操作其实还是很不方便的,这里面就要涉及一大堆的样式兼容,如果通过jQuery处理就会简单多了,我们只需要把this加工成jQuery对象

换成jQuery的做法:

$('p').click(function(){
    //把p元素转化成jQuery的对象
    var $this= $(this) 
    $this.css('color','red')
})

 

通过把$()方法传入当前的元素对象的引用this,把这个this加工成jQuery对象,我们就可以用jQuery提供的快捷方法直接处理样式了

总体:

this表示当前的上下文对象是一个html对象,可以调用html对象所拥有的属性和方法。

$(this)代表的上下文对象是一个jQuery的上下文对象,可以调用jQuery的方法和属性值。

分享到:
评论

相关推荐

    最全面的jQuery基础知识

    jQuery选择器: 一、基本选择器 二、层次选择器 三、过滤选择器 四、表单选择器 jQuery过滤选择器,以冒号:开头 1、基本过滤选择器 2、内容过滤选择器 3、可见性过滤选择器 4、属性过滤选择器 5、子元素过滤选择器 ...

    使用jQuery在对象中缓存选择器的简单方法

    当使用像jQuery这样的库时,开发者通常会使用选择器来访问和操作DOM中的元素。当一个选择在页面上被反复的访问时,把它缓存起来以获得更好的性能是个不错的想法。 让我们看一个例子,   jQuery(document).ready...

    JS仿JQuery选择器功能

    JQuery作为应用最广的JS库,其最强大的功能之一就是几乎涵盖所有方法的且代码十分简短的选择器功能,我们也可用自己的代码实现此功能,代码逻辑、使用方法与JQuery一致 function ZQuery(arg){ this.elements = [];...

    jquery-mobile-datepicker:用于日期月份选择器的 JQueryMobile 插件

    此版本的日期选择器已使用JQuery Mobile v1.4.2和JQuery v1.10.2进行测试 现场演示 查看 JSFiddle 中的现场演示:[单击此处]( ) 如何使用? 假设这些是您的输入:``` // 日期选择器// 月份选择器 To call jquery-...

    setTimeout内不支持jquery的选择器的解决方案

    今天在写一个js延时事件的时候发现在setTimeout这个方法里面使用jquery的$(this)竟然不起作用,各种测试,最后得出结论是setTimeout内不支持jquery的选择器。于是请教了一下QQ上做jquery开发的高手,马上就把这问题...

    jQuery-plugin-getPath:jQuert getPath - 查找 HTML 元素的(可能的)jQuery 选择器

    用法 $('body').bind('click.monitoring',function(e){//Get the element's jQuery selector//It'll return something like this: #example-5>h4:eq(0)var sel = $.getPath(e.target); //is the same as $(e.target)...

    jQuery 筛选器简单操作示例

    筛选器1: 在选择器选择的基础上在选择一次 // 当前点击的标签$(this) $(this) // .next() 获取当标签的下一个标签 $(this).next(); // .nextAll() 获取当标签的下面所有标签 $(this).nextAll(); // .nextUntil() ...

    Jquery Api

    这个函数接收一个包含 CSS 选择器的字符串,然后用这个字符串去匹配一组元素。 jQuery 的核心功能都是通过这个函数实现的。 jQuery中的一切都构建于这个函数之上,或者说都是在以某种方式使用这个函数。这个函数最...

    用Jquery选择器计算table中的某一列某一行的合计

    利用Jquery选择器,计算table中的某一列,某一行的合计,非常方便。下面以计算行合计为例: 核心算法: $('#tableId tr').each(function() { $(this).find('td:eq(columnIndex)').each(function() { totalAmount +=...

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

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

    Jquery选择器 $实现原理

    但由于工作的原因,很久不曾做过网站项目了,也没有时间去好好研究Jquery的源码,这个疑问也一直没有得到解决了, 今天,空闲之余,打开Jquery的源码看看,才明天它实现的原理,原来在加入jquery的js这个文件时,...

    jQuery中:checked选择器用法实例

    本文实例讲述了jQuery中:checked选择器用法。分享给大家供大家参考。具体分析如下: 此选择器能够选取所有选中的复选框或单选按钮。 语法结构: 代码如下:$(“:checked”) 此选择器可以和其他选择器配合使用,比如...

    jQuery详细教程

    提示:jQuery 使用的语法是 XPath 与 CSS 选择器语法的组合。在本教程接下来的章节,您将学习到更多有关选择器的语法。 文档就绪函数 您也许已经注意到在我们的实例中的所有 jQuery 函数位于一个 document ready ...

    jquery-1.1.3 效率提高800%

    在 jQuery 1.2中,可以在URL参数中指定一个jQuery选择器,这会过滤返回的HTML文档,只取得文档中匹配选择器的元素。此语法类似于"url #some > selector"。 实例 载入文档的sidebar的导航部分到一个无序列表...

    jQuery的手机端省市二级联动选择代码.zip

    两级联动选择插件调用: $('.select-value').mPicker({ //级别 level:2, //需要渲染的json,二级联动的需要嵌套子元素,有一定的json格式... jQuery手机端省市二级联动选择代码是一款非常实用的城市选择器插件。

    jquery插件使用方法大全

    jQuery 1.1.3(2007年7月):这次小版本变化包含了对jQuery选择符引擎执行速度的显著提升。从这个版本开始,jQuery的性能达到了Prototype、Mootools以及Dojo等同类JavaScript库的水平。 jQuery 1.2(2007年9月):...

    基于jQuery选择器的整理集合

    来个实例 : 代码如下:$(“img”).each(function(){ $(this).toggle(“example”);}) 2、size()与length相同,都是返回jquery对象中元素的个数。 $(“img”).size();或$(“img”).length; 3、get():取得所有匹配的...

    jQuery源码分析之init的详细介绍

    jQuery( selector [, context ] ) ,这是一个标准且常用法,selector 表示一个 css 选择器,这个选择器通常是一个字符串,#id 或者 .class 等,context 表示选择范围,即限定作用,可为 DOM,jQuery 对象。

    backbone.handle:放下jquery选择器并获取视图的DOM元素的句柄

    放下jquery选择器,并获取视图的DOM元素的句柄。 创建可重用的句柄以表示视图中的特定DOM元素。 例子 MyView = Backbone . View . extend ( { ui : { "inputFld" : "input[type='text']" , "okButton" : ...

    最新jquery easyUI中文文档 1.5版本没有之一

    selector 是jQery对象选择器。 plugin 是插件的名称。 method 是相应插件现有的方法。 parameter 是参数对象,可以是一个对象、字符串等。 所有方法都定义在jQuery.fn.{plugin}.methods。每个方法都有2个参数:jq和...

Global site tag (gtag.js) - Google Analytics