Javascript 模拟 jQuery 的选择器(Selector)

JQuery 强大、方便的选择器 (Selector) 是 jQuery 不可或缺的功能之一。不过如果我们不想加载 jQuery 而只想使用类似 jQuery 选择器的功能,那可以用自订函式的方式做到:

function $$(theElement){
    switch(theElement.charAt(0)){
    case ("#"):
        // 以 $$("#id") 传回物件
        return (document.getElementById(theElement.replace(/^#/, "")));
    case ("."):
        // 以 $$(".class") 传回物件阵列,IE 不支援
        return (document.getElementsByClassName(theElement.replace(/^\./, "")));
    default:
        // 以 $$("tag") 传回物件阵列
        return (document.getElementsByTagName(theElement));
    }
}

或是简单一点,仅传回指定 id 的物件:

function $$(theElement){
    return(document.getElementById(theElement));
}

我把这自订的函式取名为 $$(),用以与 jQuery 的 $() 做区隔。

但是要注意,以上两个函式传回的都是 DOM 物件,与 jQuery 在其它操作上并不相同。

    • 路人甲
    • 06/23. 2011 11:44下午
    Using Mozilla Firefox Mozilla Firefox 4.0.1 on Linux Linux

    我也正在想有没有简单的方法稍微类似 JQuery 的选择器;
    很有趣的启发,继续发展下去,就是 JQuery 的由来了吧。
    蛮实用的。

  1. No trackbacks yet.

return top

%d 位部落客按了赞: