不使用任何開源框架(jQuery等):),在JavaScript中,在任何控件中搜索屬性的最有效方法是什麼。 (任何舊的/新的瀏覽器)JavaScript中的搜索屬性
這是我跟隨的模式。有沒有更好的方法或更好的方法?謝謝!
e.g
<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>
我認爲你已經有了非常正確的想法......你的測試很弱 - 如果價值是「somethingelse」,它會匹配「某事」 - 但這很容易修復。更大的問題在於,對於大型文檔來說它會很慢,因爲它每次都必須遍歷整個DOM。這就是爲什麼諸如jQuery/Sizzle之類的選擇器引擎會鼓勵更具體的選擇器:'input [a1 = something]'只需要測試輸入元素。 – Shog9 2009-09-10 22:34:02