谁能给我解释一下视屏中的这段代码具体是什么意思????

来源:1-4 js实现切换效果

千万分之一

2014-12-11 16:04

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



写回答 关注

2回答

  • Tracy_
    2014-12-11 16:10:03
    已采纳

    $(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;  
    };

    千万分之一

    非常感谢!

    2014-12-16 16:13:41

    共 1 条回复 >

  • michael_sofield
    2014-12-12 18:03:17

    为何用"string" === typeof id 而不是"==" 

    fiona2...

    都尽量用=== 少用==

    2014-12-18 20:48:03

    共 1 条回复 >

Tab选项卡切换效果

本课程详细介绍网页页面中最流行常用的tab切换效果

65469 学习 · 533 问题

查看课程

相似问题