Need a little help with NODES

C

Charlie T

Hello,

I am a little confused... please help:

-----------------------------------
<DIV id="01">
<DIV id="aNum"></DIV>
<DIV id="bNum"></DIV>
<DIV id="cNum"></DIV>
</DIV>
------------------------------------

is <DIV id="01"> the parent node of <DIV id="aNum"></DIV> ?

If so... How do I access each child using DOM...

shoud this work?:
a = document.getElementById('DIV');
b = a(0).childNodes.length;

Thanks...
 
L

Lee

Charlie T said:
Hello,

I am a little confused... please help:

-----------------------------------
<DIV id="01">
<DIV id="aNum"></DIV>
<DIV id="bNum"></DIV>
<DIV id="cNum"></DIV>
</DIV>
------------------------------------

is <DIV id="01"> the parent node of <DIV id="aNum"></DIV> ?
Yes.


If so... How do I access each child using DOM...

shoud this work?:
a = document.getElementById('DIV');
b = a(0).childNodes.length;

No, it shouldn't.
"DIV" is not the ID of any of your elements.
"a" is not a function, so "a(0)" is undefined.

a = document.getElementById('01');
b = a.childNodes.length;

Note that element '01' in your example has 7 childNodes,
including the text nodes surrounding the <div> nodes.
 
M

Michael Winter

Hello,

I am a little confused... please help:

-----------------------------------
<DIV id="01">
<DIV id="aNum"></DIV>
<DIV id="bNum"></DIV>
<DIV id="cNum"></DIV>
</DIV>

It is the parent of all of the <x>Num DIV elements. However, you should be
aware that you cannot start an id attribute value with a number. It must
begin with a letter.
If so... How do I access each child using DOM...

shoud this work?:
a = document.getElementById('DIV');
b = a(0).childNodes.length;

No. You'll either want

var a = document.getElementById('divId');

or

var a = document.getElementsByTagName('DIV');

The first returns a reference to a specific DIV. The second returns a
(possibly empty) collection of all DIV elements in the document. Once you
have a reference to a particular node, then yes, you can use the
childNodes property to access the children of that node.

Another thing to note is that you don't index collections with parentheses
(). You use square brackets []. Whilst IE supports the use of parentheses,
that vast majority of browsers do not (and *should* not).

Finally, all of this has an important caveat: not all browsers you can
encounter on the Web will support the DOM. To be safe, you should always
test for a feature before using it.

if(document.getElementById)
var d = document.getElementById('myDiv');

if(d && d.childNodes) {
// Do stuff with the childNodes collection
}
}

If you haven't already, do read the FAQ entry on feature detection
(section 4.26):

Good luck,
Mike


clj FAQ:
<URL:http://jibbering.com/faq/>
 

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
474,431
Messages
2,571,679
Members
48,796
Latest member
Greg L.

Latest Threads

Top