當我運行下面的一段代碼時,螢火蟲控制檯說elem是未定義的,雖然它不是!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
聲明中給我提供了錯誤。所有這些代碼都是在頁面已經加載的情況下運行的。這是爲什麼發生?
+1,但也要注意使用RegExp很慢。你也可以使用'String.indexOf()'來搜索字符串。 – Joseph