`
welcome66
  • 浏览: 397199 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

阅读更多

1.JQuery this和$(this)的区别

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

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

       那么,我们再回过头来说$(this),这个this是什么呢?假设我们有如下的代码:

$("#desktop a img").each(function(index){

            alert($(this));

            alert(this);

}

那么,这时候可以看出来:

alert($(this));  弹出的结果是[object Object ]

alert(this);        弹出来的是[object HTMLImageElement]

也就是说,后者返回的是一个html对象(本例中是遍历HTML的img对象,所以为HTMLImageElement)。

很多人在使用jquery的时候,经常this.attr('src');   这时会报错“对象不支持此属性或方法”,这又是为什么呢?其实看明白上面的例子,就知道错在哪里了:很简单,this操作的是HTML对象,那么,HTML对象中怎么会有val()方法了,所以,在使用中,我们不能直接用this来直接调用jquery的方法或者属性。

 

2.获取$(this)子节点对象的方法:find(element)

明白了$(this)和this的区别,再来看看这个例子:(假设,我的页面中a标签包含img,并含有src属性),当我在遍历的时候,想取到$(this)下img中src的地址

      $("#desktop a ").each(function(index){

         var imgurl=$(this).find('img').attr('src');

         alert(imgurl);

        }

其中 .find(element) 是返回一个用于匹配元素的DOM元素,这样就可以取到想要的src地址了。

分享到:
评论

相关推荐

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

    1.JQuery this和$(this)的区别 相信很多刚接触JQuery的人,很多都会对$(this)和this的区别模糊不清,那么这两者有什么区别呢? 首先来看看JQuery中的 $() 这个符号,实际上这个符号在JQuery中相当于JQuery(),即$...

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

    如下所示: <select id=city> 北京 上海 深圳 </select>... ①// 已获取select为当前this元素 }) }) 如果想要在①获取选中option的值可以有如下方法 $(#city option:selected).val(); //

    js与jquery获取父元素,删除子元素的两种不同方法

    var obj=document.getElementById(“id”);得到的是dom对象,对该...(2).jquery方法 $(“#id”).each(function(){ $(this) 来获得对应的某一个元素}); 2.获取满足条件的元素的父元素 (1).js方法:var o=obj[i].pare

    jquery中获取元素里某一特定子元素的代码

    之前做的一些JQUERY应用都是些很基础的编程,对于选择器要求不高,像类似于“$(‘.class’)”、“$(‘#id’)”、“$(‘#id>.class’)”、“$(this)”、“$(this).parent()”、“$(this).children()”这些简单的语句...

    jquery电子文档chm

    $.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息。详细参数选项见下。 jQuery 1.2 中,您可以跨域加载 JSON 数据,使用时需将数据类型设置为 JSONP。使用 JSONP 形式调用函数时,如 "myurl?...

    jQuery完全实例.rar

    找到所有 p 元素,并且这些元素都必须是 div 元素的子元素。 HTML 代码: <p>one</p> <div><p>two</p></div> <p>three</p> jQuery 代码: $("div > p"); 结果: [ <p>two</p> ] ------------------------------...

    jQuery详细教程

    jQuery详细教程,讲解很透彻, 一. jQuery 语法实例 $(this).hide() 演示 jQuery hide() 函数,隐藏当前的 HTML 元素。 $("#test").hide() 演示 jQuery hide() 函数,隐藏 id="test" 的元素。 $("p").hide() ...

    jquery-1.3.2

    如果要为每一个jQuery 对象添加一个函数,必须把该函数指派给 $.fn,同时这个函数必须要返回一个 this(jQuery 对象) jQuery相关 《Learning jQuery:Better Interaction Design and Web Development with Simple ...

    解决jQuery使用append添加的元素事件无效的问题

    on() 方法在被选元素及子元素上添加一个或多个事件处理程序。 自 jQuery 版本 1.7 起,on() 方法是 bind()、live() 和 delegate() 方法的新的替代品。 注意:使用 on() 方法添加的事件处理程序适用于

    最全面的jQuery基础知识

    jQuery元素属性、jQuery元素内容、jQuery动态创建内容、jQuery删除节点、jQuery事件处理、jQuery文档就绪的四种写法、jQuery事件绑定和解除绑定、jQuery事件切换、jQuery实现toggle功能、jQuery插件、jQuery插件实用...

    jQuery each()方法的使用方法

    jQuery和jQuery对象都实现了该方法,对于jQuery对象,只是把each方法简单的进行了委托:把jQuery对象作为第一个参数传递给jQuery的each方法.换句话说:jQuery提供的each方法是对参数一提供的对象的中所有的子元素...

    jquery中子元素和后代元素的区别示例介绍

    基本选择器:id,class,标签名,*,元素组合(div,span,p.myClass) 层次选择器: 难点: jquery中子元素和后代元素的区别 后代,就是当前元素的所有后代,都算, 子元素,就是当前元素的子集,再往下走就不算了。...

    jQuery中判断一个元素是否为另一个元素的子元素(或者其本身)

    所以写了比较简单的jQuery判断一个元素是否为另一个元素的子元素(或者其本身)的两个扩展: 代码如下: //判断:当前元素是否是被筛选元素的子元素 jQuery.fn.isChildOf = function(b){ return (this.parents(b).length...

    jquery使用remove()方法删除指定class子元素

    本文实例讲述了jquery使用remove()方法删除指定class子元素的方法。分享给大家供大家参考。具体实现方法如下: <!DOCTYPE html> <html> <head> [removed] [removed] [removed] $(document).ready...

    JQUERY实例

    // 隐藏上面获取到的jQuery对象。 var $toggleBtn = $('div.showmore > a'); // 获取“显示全部品牌”按钮 $toggleBtn.click(function(){ if($category.is(":visible")){ $category.hide(); // 隐藏$category ...

    Jquery中find与each方法用法实例

    如果想要在某个元素下寻找特定的元素,仅仅依靠上面这个方法,就必须对 $(“#id”)获取的元素进行遍历,获取其子元素。如此一来就显得格外的繁琐,代码量也非常庞大。 于是这就需要用到find()方法。 $("#id").find

    jquery的each方法使用示例分享

    换句话说:jQuery提供的each方法是对参数一提供的对象的中所有的子元素逐一进行方法调用。而jQuery对象提供的each方法则是对jQuery内部的子元素进行逐个调用。 代码如下:jQuery.prototype.each=function( fn, args ...

    JQuery操作iframe父页面与子页面的元素与方法(实例讲解)

    第二、在父页面中获取iframe中的元素方法:$(this).contents().find(“#suggestBox”) 第三、在iframe中调用父页面中定义的方法和变量:parent.methodparent.valueiframe里用jquery获取父页面body iframe.html 代码...

Global site tag (gtag.js) - Google Analytics