function
getElementByAttribute(aAttribute,aValue,aInElement)
... {
var ElementVerifier;
var Elements=new Array();
function SearchElement(aElement)
...{
if(aElement==null||aElement==undefined)return
if(ElementVerifier(aElement))
...{
Elements[Elements.length]=aElement;
}
SearchElement(aElement.firstChild);
SearchElement(aElement.nextSibling);
}
if(aInElement==undefined)aInElement=document.body;
ElementVerifier=function(aElement)
...{
Element=aElement;
if(aElement.nodeName=='#text')return false;
function myEqual(Element,aValue)...{
var eq = false;
if(!(eq = (Element.getAttribute(aAttribute) == aValue)) )
...{
eval('try{eq = (Element.'+aAttribute+' == "'+ aValue +'");}catch(e){}');
}
return eq;
}
return myEqual(Element,aValue);
}
SearchElement(aInElement);
return Elements;
}
... {
var ElementVerifier;
var Elements=new Array();
function SearchElement(aElement)
...{
if(aElement==null||aElement==undefined)return
if(ElementVerifier(aElement))
...{
Elements[Elements.length]=aElement;
}
SearchElement(aElement.firstChild);
SearchElement(aElement.nextSibling);
}
if(aInElement==undefined)aInElement=document.body;
ElementVerifier=function(aElement)
...{
Element=aElement;
if(aElement.nodeName=='#text')return false;
function myEqual(Element,aValue)...{
var eq = false;
if(!(eq = (Element.getAttribute(aAttribute) == aValue)) )
...{
eval('try{eq = (Element.'+aAttribute+' == "'+ aValue +'");}catch(e){}');
}
return eq;
}
return myEqual(Element,aValue);
}
SearchElement(aInElement);
return Elements;
}
似乎查找的效率有点低