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; } 似乎查找的效率有点低