오픈 소스 프레임 워크 (jQuery 등)를 사용하지 않고 JavaScript에서 어떤 컨트롤의 속성을 검색하는 가장 효율적인 방법은 무엇입니까? (이전/새 브라우저)JavaScript의 검색 속성
다음과 같은 패턴입니다. 어떤 더 좋은 방법이나 더 나은 getElementByAttribute()
방법이 있습니까? 감사!
예컨대
<input type="button" id="b1" value="Continue" a1="something" />
<input type="text" id="t1" a1="something1" />
<script>
var attrToFind = "something;something1";
var elems = document.all ? document.all : document.getElementByTagName("*");
//assume elems work always
for(var i = 0 ; i < elems.length; i++)
{
var att = elems[i].getAttribute("a1");
if (typeof att == "string")
{
if (att.indexOf(attrToFind) > -1)
... //search which attr you find, create array, save value, etc.
}
}
</script>
당신은 이미 올바른 생각을 가지고 있다고 생각합니다. 테스트가 약합니다. 값이 "무언가"라면 "무언가"와 일치 할 것입니다. 그러나 그것은 쉽게 해결할 수 있습니다. 더 큰 문제는 매번 전체 DOM을 통과해야하기 때문에 큰 문서의 경우 매우 느릴뿐입니다. 이것이 jQuery/Sizzle과 같은 선택기 엔진이보다 구체적인 선택자를 권장하는 이유입니다. 'input [a1 = something]'은 입력 요소를 테스트하기 만하면됩니다. – Shog9