<万博manbetx平台> 【jQuery点滴】不要滥用$(this)-万博manbetx平台

【jQuery点滴】不要滥用$(this)

如果不了解javasrcipt中基本的DOM属性和方法的话,很容易滥用jQuery对象。比如:

[code=”javascript”]

$(‘#someAnchor’).click(function()?{

alert(?$(this).attr(‘id’)?);

});

[/code]

如果你只是通过jQ对象获取简单的dom元素的属性比如id,那么你完全可以使用js原生的方法:

[code=”javascript”]

$(‘#someAnchor’).click(function()?{

alert(?this.id?);

});

[/code]

诸如“src,” “href,” 和“style.”等一些属性在老版本的ie中使用了getAttribute方法。

赞(0) 打赏
未经允许不得转载:万博manbetx平台 » 【jQuery点滴】不要滥用$(this)

评论 8

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  1. #-49

    记住了。谢谢。

    Lois8年前 (2010-10-08)回复
  2. #-48

    var $this=document.getElementById(“qqq”);
    var k= new Date();
    for(var i=0;i<100000;i++)
    {
    var c = $this.id;
    }
    var p=new Date();
    var str = ""+(p-k)+"”;

    var k= new Date();
    for(var i=0;i<100000;i++)
    {
    var c = $($this).attr("id");
    }
    var p=new Date();
    str+= ""+(p-k)+"”;
    $this.inner万博manbetx平台 = str;

    FF测试:DOM 27-49
    JQ 1000-1220
    IE测试: DOM 212
    JQ 4544
    CHORM测试: DOM 29
    JQ 593

    正豪8年前 (2010-10-09)回复
    • 看到你做的这个测试,感觉确实差很多…

      不羁虫8年前 (2010-12-14)回复
  3. #-47

    能说下为什么不

    8年前 (2010-10-09)回复
  4. #-46

    又改版了啊 头上的导航 怎么没管ie6啊

    8年前 (2010-10-09)回复
  5. #-45

    嗯,确实,我现在也是能用原生的,就尽量用原生的。
    顺便说一句,“发表评论”按钮在chrome8“飞”起来了。

    8年前 (2010-10-20)回复
  6. #-44

    能用原生的就用原生,节省资源

    8年前 (2010-11-26)回复
  7. #-43

    个人觉的,效率什么的问题根本不算什么,只要页面里加载的标签数没有上千数量级和频繁的操作dom的话,那点效率损耗根本不算什么,目前来看,一般的脚本,在IE6下运行速度是最慢的,有时IE6比I8能快一点点不知道是不是IE8个不同版本补丁造成的差异,你说的$(this)我一直在用,用到最多的就是each方法里的,因为很多时候遍历的都仅仅是个不带任何属性的标签,需要给它们注册个什么事件,比如table的行点击什么的,你说的这个又仅仅是单个标签的操作,根本看不出来差异,不过养成优化代码的习惯还是很重要的

    张鑫8年前 (2011-05-11)回复

前端开发相关广告投放 更专业 更精准

联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏