百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>JS教程> js中function $(id)与jquery发生冲突的解决方法
分享文章到:

js中function $(id)与jquery发生冲突的解决方法

发布时间:01/15 来源: 浏览: 关键词:
本文章来给大家介绍js中function $(id)与jquery发生冲突的解决方法,有碰到此类问题的朋友可进入参考。

$(id)是js document.getElementById(id)的简写,定义了这个方法以后调用的时候就可以直接用类似于jquery中那样的$(“img-icon”).onclick简单封装。所以很多人喜欢这样写:

 代码如下

    var $ = function(id){
    return document.getElementById(id);
    };

但是这一类js代码会和与JQuery对象获取函数冲突会与JQuery冲突的,导致JQuery获取不了对象,出现类似于:Uncaught TypeError: Cannot set property ‘onclick’ of null 这样的错误提示。
安全的写法可以这样

 代码如下

    var $id = function (id) {
    return "string" == typeof id ? document.getElementById(id) : id;
    };

或者:

 代码如下

    var $id = function (id) {
    return typeof id == "string" ? document.getElementById(id) : id;
    };

或者:

 代码如下

    function $(id) {
    if (typeof jQuery == 'undefined' || (typeof id == 'string' && document.getElementById(id))) {
    return document.getElementById(id);
    } else if (typeof id == 'object' || !/^w*$/.exec(id) ||
    /^(body|div|span|a|input|textarea|button|img|ul|li|ol|table|tr|th|td)$/.exec(id)){
    return jQuery(id);
    }
    return null;
    }

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有5人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板