idから見つける
idは一意のはず。
1 |
var elem = document.getElementById("pid"); |
ある一意な属性値から見つける。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
function getElementByMustUniqueAttribute(parentelem, nodename, attrname, attrvalue) { if(!parentelem) parentelem = document; var elems = parentelem.getElementsByTagName( nodename ? nodename : '*'); for (var i = 0; i < elems.length; i++) { var elem = elems[i]; var s = elem.getAttribute(attrname); if(s==attrvalue) { return elem; } } return null; } |
getAttributeはそのエレメントにとって意味のある値の場合、ブラウザによって返す値が違う場合があるみたい。imgのsrcとかだと、書かれている値で返すかURIを返すかが異なったりする。
name属性がある場合にはHtmlCollectionのnamedItemを使ったほうが早いのかもしれない。
あとは順番で見つけたり親子関係で見つけたりする方法があると思う。