<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