<ul id="mm">
<li>A</li>
<li>B</li>
<li>C</li>
</ul>
<input type=button value=length onclick="alert(document.getElementById('mm').getElementsByTagName('LI').length)">

解决方案 »

  1.   

    <ul id="mm">
    <li>A</li>
    <li>B</li>
    <li>C</li>
    </ul>
    <input type=button value=length onclick="alert(document.getElementById('mm').childNodes.length)">
      

  2.   

    在非IE浏览器里 childNodes.length 肯定大于 3
      

  3.   

    梅花雪提出的是一种针对具体例子的解决方案……
    而我希望得到的是一种无需ByTagName的方案,比如
    <TABLE>
    <TR><TD>A</TD></TR>
    <TR><TH>B</TH></TR>
    <TR><TD>C</TD></TR>
    </TABLE>
    这样一个DOM结构,通过一个函数运算,可以得到3这个结果,而无论其子对象是否有嵌套,是否不同样TAG。
      

  4.   

    <TABLE id="mm">
    <TR><TD>A</TD></TR>
    <TR><TH>B</TH></TR>
    <TR><TD>C</TD></TR>
    </TABLE>
    <input type=button value=length onclick="alert(document.getElementById('mm').childNodes.length)">
    IE下结果居然是1!不知道IE是怎么理解CHILDNODES的……
      

  5.   

    有什么不可理解的??table的child是tbody而不是你看到的tr,table里要取tr的行数用:
    document.getElementById("mm").rows.length
      

  6.   

    <TABLE id="mm">
    <TR><TD>A</TD></TR>
    <TR><TH>B</TH></TR>
    <TR><TD>C</TD></TR>
    </TABLE>
    <input type=button value=length onclick="alert(document.getElementById('mm').childNodes[0].childNodes.length)">
    都通用的该怎么写呢