<div id="t">gf</div>
<div id="g">ds</div>
function $() {
return document.getElementById(arguments);
}
$('t', 'g').style.color = "red";
有没有我做错的事。它说无法调用null的样式......
答案 0 :(得分:4)
function $() {
return document.getElementById.apply(document, arguments);
}
您需要使用apply
方法使用数组作为参数来调用函数。 apply函数也需要上下文,因此您还需要传递document
。
此外,getElementById
只接受一个参数并返回单个元素(AFAIK),因此这基本上没用。更不用说即使它确实接受多个参数来返回多个元素,你仍然无法以这种方式使用结果数组。
答案 1 :(得分:1)
function $(a, f) {
a.forEach(function(id) {
f(document.getElementById(id));
});
}
$(['t', 'g'], function(d) {
d.style.color = "red";
});