javascript - Why does document.getElementsByName have a length of 0 despite having elements? -


this question has answer here:

the script runs before document loaded, why console.log(b) show elements in collection?

if console.log(b) has elements why console.log(b[0]) show undefined , console.log(b.length) 0?

<html>       <head>             <script>          function test(){              var b = document.getelementsbyname('a');              console.log(b);              console.log(b[0]);              console.log(b.length);          }          test();      </script>      </head>            <body>      <form id="a" name="a"></form>      </body>  </html>

getelementsbyname returns nodelist. it's object containing list of matching nodes, b not null.

however, you're running script before dom ready, list of length 0 no first object. need delay script execution until after dom's been parsed, @ point form exist.


Comments

Popular posts from this blog

c++ - QTextObjectInterface with Qml TextEdit (QQuickTextEdit) -

javascript - angular ng-required radio button not toggling required off in firefox 33, OK in chrome -

xcode - Swift Playground - Files are not readable -