[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 在其它操作上并不相同。
我也正在想有没有简单的方法稍微类似 JQuery 的选择器;
很有趣的启发,继续发展下去,就是 JQuery 的由来了吧。
蛮实用的。