1. Advertising
    y u no do it?

    Advertising (learn more)

    Advertise virtually anything here, with CPM banner ads, CPM email ads and CPC contextual links. You can target relevant areas of the site and show ads based on geographical location of the user if you wish.

    Starts at just $1 per CPM or $0.10 per CPC.

How to get div's elements?

Discussion in 'JavaScript' started by Betty_S, Mar 18, 2007.

  1. #1
    Hi,
    How can retrive all of the tags or elemnts within a div
    I have this:
    
    <div name="myDiv">
    <input type="text" value="txt1" name="txt1" />
    <input type="text" value="txt2" name="txt2" />
    <input type="text" value="txt3" name="txt3" />
    </div>
    
    Code (markup):
    And that’s the script that didn't work:
    
    var e=document.myDiv.elements;
     for (var i=0;i<e.length;i++)	{alert(e[i].name);} 
     
    Code (markup):
    What am I doing worng?
     
    Betty_S, Mar 18, 2007 IP
  2. ajsa52

    ajsa52 Well-Known Member

    Messages:
    3,426
    Likes Received:
    125
    Best Answers:
    0
    Trophy Points:
    160
    #2
    This code should work (tested on FireFox):
    
    <html>
    <head>
    <script type="text/javascript">
    
    function getDiv()
    {
      cn = document.getElementById( "myDiv1" ).childNodes;
      for (var i = 0; i < cn.length; i++) 
      {
        // alert( "i='" + i + "', n='" + cn[i].name + "', nt='" + cn[i].nodeType + "', nv='" + cn[i].nodeValue + "'" );  
        if ( cn[i].nodeType==1 )
          alert( cn[i].name );
      }
    }
    
    </script>
    </head>
    <body onLoad="getDiv();">
    <div id="myDiv1" name="myDiv1">
    <input type="text" value="txt1" name="txt1" />
    <input type="text" value="txt2" name="txt2" />
    <input type="text" value="txt3" name="txt3" />
    </div>
    <div id="myDiv2" name="myDiv2">
    <input type="text" value="txt4" name="txt4" />
    <input type="text" value="txt5" name="txt5" />
    <input type="text" value="txt6" name="txt6" />
    </div>
    </body>
    
    </html>
    
    Code (markup):
     
    ajsa52, Mar 18, 2007 IP
  3. SeLfkiLL

    SeLfkiLL Active Member

    Messages:
    85
    Likes Received:
    7
    Best Answers:
    0
    Trophy Points:
    50
    #3
    Try this:

    var nodes = document.getElementsByName("myDiv")[0].childNodes;
    var i;
    
    for(i = 0;i < nodes.length;++i)
        alert(nodes[i].name);
    Code (markup):
    Edit: oh you beat me! :p
     
    SeLfkiLL, Mar 18, 2007 IP