<div id="t">gf</div>
<div id="g">ds</div>
function $() {
return document.getElementById(arguments);
}
$('t', 'g').style.color = "red";
有什么,我做错了。它说不能叫空的风格。为什么getElementById函数不起作用?
<div id="t">gf</div>
<div id="g">ds</div>
function $() {
return document.getElementById(arguments);
}
$('t', 'g').style.color = "red";
有什么,我做错了。它说不能叫空的风格。为什么getElementById函数不起作用?
function $() {
return document.getElementById.apply(document, arguments);
}
您需要使用apply
方法来调用使用数组作为自变量的函数。 apply函数也需要上下文,所以你也需要通过document
。
此外,getElementById
只接受一个参数并返回一个单独的元素(AFAIK),所以这基本上是无用的。更不用说即使它接受多个参数来返回多个元素,您仍然无法以这种方式使用结果数组。
似乎只能用于一个http://jsfiddle.net/c8DHY/2/ – Trufa 2011-06-03 17:30:48
'getElementById'无论如何只接受一个参数,其余的将被忽略。 – 2011-06-03 17:31:32
这将部分工作。 getElementById仍然只返回一个元素,所以只会引用数组中的第一个元素。 – WesleyJohnson 2011-06-03 17:32:13
function $(a, f) {
a.forEach(function(id) {
f(document.getElementById(id));
});
}
$(['t', 'g'], function(d) {
d.style.color = "red";
});
是什么让你认为[getElementById](https://developer.mozilla.org/en/document.getElementById)与数组一起作为'id'参数? – 2011-06-03 17:30:14
你在说什么? – 0x499602D2 2011-06-03 19:16:00