Javascript getting the number of elements in getElementsByClassName -


i have following javascript code:

b = document.getelementsbyclassname('name1'); c = document.getelementsbyclassname('name2'); if (b.length != 0) {     document.getelementbytagname('body')[0].innerhtml = b[0].innerhtml  else if (c.length != 0) {     document.getelementbytagname('body')[0].innerhtml = c[0].innerhtml } else document.getelementbytagname('body')[0].innerhtml = 'error'; 

but not getting desired rendering. whole page renders when divs class name name1 , name2 present.

what doing wrong?

  1. you skipped closing } bracket in if statement;
  2. there no getelementbytagname method in native javascript;
  3. you'd better use document.body instead.

here bit more correct code:

var b = document.getelementsbyclassname("name1"),     c = document.getelementsbyclassname("name2");  if (b.length > 0) {     document.body.innerhtml = b[0].innerhtml; } else if (c.length > 0) {     document.body.innerhtml = c[0].innerhtml; } else {     document.body.innerhtml = "error"; } 

also, wouldn't suggest change .innerhtml property, efficient use .appendchild() method instead, i.e.:

document.body.appendchild(document.createtextnode("error")); 

Comments

Popular posts from this blog

user interface - Python attempting to create a simple gui, getting "AttributeError: 'MainMenu' object has no attribute 'intro_screen'" -

jquery - Common JavaScript snippet to share files on Google Drive, Dropbox, Box.net or SkyDrive -

Android Gson.fromJson error -