element.firstChild is returning '<TextNode …' instead of an Object in FF

后端 未结 6 2025
傲寒
傲寒 2020-11-29 07:50

I wrote a tab system using some very basic Javascript and it runs like a champ in IE 8 but, in FireFox 3 I am coming up short. The pertitent HTML is as follows:

<         


        
6条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-11-29 08:09

    You should skip the TextNodes, a simple function can help you:

    function getFirstChild(el){
      var firstChild = el.firstChild;
      while(firstChild != null && firstChild.nodeType == 3){ // skip TextNodes
        firstChild = firstChild.nextSibling;
      }
      return firstChild;
    }
    

    Usage:

    var tabContainer = document.getElementById(TabContainer);
    var tabs = getFirstChild(tabContainer);
    

提交回复
热议问题