xml node.childNodes.length

L

lmg

<g id= "hostgrouptest" >
<rect id= "host3" x="28%" y="42.2%" width="7%" height="10%"
fill="lightgray" stroke="black" stroke-width="1" rx="5" ry="2"
onmouseover = "nodeovercommon(evt)" onmousedown="nodetransformdown(evt)"
onmousemove="nodetransformmove(evt)" onmouseup = "nodetransformup(evt)" >
</rect>
<image id="server" x="28%" y="42.2%" width="15" height="20"
xlink:href="Server.png"/>

</g>

Code:

function nodetransformmove(evt)
{ var
thenode = evt.target.parentNode.getAttribute("id");
//µÃµ½¸¸½Úµã
var parentnode = evt.target.ownerDocument.getElementById(thenode);
alert("parentnode"+parentnode.childNodes.length);
}
why parentnode.childNodes.length is 5, I think it should be 2, who can
explain for me?
 
P

pr

lmg said:
<g id= "hostgrouptest" >
<rect id= "host3" x="28%" y="42.2%" width="7%" height="10%"
fill="lightgray" stroke="black" stroke-width="1" rx="5" ry="2"
onmouseover = "nodeovercommon(evt)"
onmousedown="nodetransformdown(evt)"
onmousemove="nodetransformmove(evt)" onmouseup =
"nodetransformup(evt)" >
</rect>
<image id="server" x="28%" y="42.2%" width="15" height="20"
xlink:href="Server.png"/>

</g>

Code:

function nodetransformmove(evt)
{ var thenode = evt.target.parentNode.getAttribute("id");
//得到父节点
var parentnode =
evt.target.ownerDocument.getElementById(thenode);
alert("parentnode"+parentnode.childNodes.length);
}
why parentnode.childNodes.length is 5, I think it should be 2, who
can explain for me?

You can explain it for yourself. Instead of your alert message, use this:

var i, s = "", c = parentnode.childNodes, n;
for (i = 0; i < c.length; i++) {
n = c.item(i);
s += n.nodeType + ": " + n.nodeName + "\n";
}
alert(s);

For the 'g' element, I see:

3: #text
1: rect
3: #text
1: image
3: #text

Maybe you didn't anticipate the text (white space) nodes.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,744
Messages
2,569,482
Members
44,901
Latest member
Noble71S45

Latest Threads

Top