"Find nodes fail sometimes". Patch by caillon@returnzero.com

(Christopher Aillon), r=bzbarsky, sr=hewitt, a=roc+moz


git-svn-id: svn://10.0.0.236/trunk@115617 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
bzbarsky%mit.edu 2002-03-02 01:07:10 +00:00
parent 2a1cd564be
commit 4e577a0798

View File

@ -493,18 +493,25 @@ DOMViewer.prototype =
doFindElementById: function(aWalker)
{
return aWalker.currentNode && aWalker.currentNode.id == this.mFindParams[0];
return aWalker.currentNode
&& "id" in aWalker.currentNode
&& aWalker.currentNode.id == this.mFindParams[0];
},
doFindElementsByTagName: function(aWalker)
{
return aWalker.currentNode && aWalker.currentNode.localName.toLowerCase() == this.mFindParams[0].toLowerCase();
return aWalker.currentNode
&& aWalker.currentNode.nodeType == Node.ELEMENT_NODE
&& aWalker.currentNode.localName.toLowerCase() == this.mFindParams[0].toLowerCase();
},
doFindElementsByAttr: function(aWalker)
{
return aWalker.currentNode &&
aWalker.currentNode.getAttribute(this.mFindParams[0]) == this.mFindParams[1];
return aWalker.currentNode
&& aWalker.currentNode.nodeType == Node.ELEMENT_NODE
&& this.mFindParams[1] == ""
? aWalker.currentNode.hasAttribute(this.mFindParams[0])
: aWalker.currentNode.getAttribute(this.mFindParams[0]) == this.mFindParams[1];
},
///////////////////////////////////////////////////////////////////////////
@ -900,4 +907,3 @@ function dumpDOM2(aNode)
dump(DOMViewer.prototype.toXML(aNode));
}