次のコードを実行すると、firebug コンソールに elem が未定義であると表示されますが、そうではありません!
var domTools = {};
domTools.searchInElements = function (elem, pattern) {
if (pattern.constructor !== RegExp) {
throw "Pattern must be a RegExp";
}
if (elem.constructor !== String) {
throw "Element must be a String";
}
elem = document.getElementsByTagName[elem];
var matches = [];
for (e = 0; e < elem.length; e++) {
if (pattern.test(elem[e].innerHTML)) {
matches.push(elem[e]);
}
}
return matches;
}
domTools.searchInElements("p", /hello/);
for
ステートメント中にエラーが発生します。このコードはすべて、ページが既に読み込まれているときに実行されています。なぜこうなった?