다음 코드를 실행하면 방화 광 콘솔에 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