都说这个函数是最值钱的function $() {
var elements = [];
for (var i = 0; i <arguments.length; i++) {
var element = arguments[i];
if (typeof element =="string")
element = document.getElementById(element);
if (arguments.length == 1)
return element;
elements.push(element);
}
return elements;
} 不解的是,为什么不是一行代码最简单呢?function $(id) {
return document.getElementById(id);
}
var elements = [];
for (var i = 0; i <arguments.length; i++) {
var element = arguments[i];
if (typeof element =="string")
element = document.getElementById(element);
if (arguments.length == 1)
return element;
elements.push(element);
}
return elements;
} 不解的是,为什么不是一行代码最简单呢?function $(id) {
return document.getElementById(id);
}
解决方案 »
- 搜索框自动补全(仿百度搜索框)--不使用任何Javascript框架
- 关于js执行的问题,请高手赐教
- JavaScript脚本实现控件的选中效果
- 谁有深入浅出Ext JS(第2版) 完整版PDF
- 求一个js分页
- 梅花雪的树2.0谁有,能给我一份吗??
- 如何获取 鼠标 所在的 table中 的row 的编号 在线等中
- 有一些Javascript代码加密了.想找一个工具或办法,查出源码来,谢谢
- 用代码(什么语言都行)控制浏览器(常用浏览器)的自动屏蔽功能,可以实现吗?
- 如何让我所在页上的鼠标刷新时产生的漏斗消失(用java特效中的把鼠标变小花的原理)
- 谁能解释下微软主页的菜单是怎么做的?
- 插入msn,jquery高手求助???
后者只获取一个不过前者还不如用jquery得了。
<input type="text" id="t1"/><input type="text" id="t2"/><input type="text" id="t3"/>
<script>
function $() {
var elements = [];
for (var i = 0; i <arguments.length; i++) {
var element = arguments[i];
if (typeof element =="string")
element = document.getElementById(element);
if (arguments.length == 1)
return element;
elements.push(element);
}
return elements;
}
var arr = $("t1", "t2", "t3", "t1");
for (var i = 0; i < arr.length; i++) {
arr[i].value += i;
}
</script>明显没有jquery方便。
不过这个函数支持多个参数,可以返回一个dom对象数组
直接用getelementbyid显然只能返回一个对象
我也很少需要一次去多个id的元素。function $$(id){return document.getElementById(id)}因为document.getElementById实在是又臭又长又极其常用
for (var i = 0; i <arguments.length; i++) { //这里可以获得多个参数的嘛
var element = arguments[i];
if (typeof element =="string")
element = document.getElementById(element); //多个参数的byId得到自然是多个元素了
if (arguments.length == 1)
return element;
elements.push(element);
}