Javascript总是在总行中加1

时间:2014-07-02 07:58:31

标签: javascript jquery

我对这个Javascript代码很困惑,我曾经在表格中获取总行数。它总是输出超过1.例如:它将打印5而不是4!

<script>
    (function() {
       var div = document.getElementById('divID11');
       div.innerHTML =  document.getElementById('tableId11').rows.length;
    })();
</script>

<div id =divID11></div>

和表结构如下所示

<table id="tableId11>
 <thead>
  <tr>
   <th>
   </th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td><?php echo $data ?></td>
  </tr>
 </tbody>

我在这里缺少什么?

enter image description here

输出3作为名称列,实际上只有2。

2 个答案:

答案 0 :(得分:2)

如果您只想计算TBODY行,请使用以下JavaScript代码:

(function() {
    var div = document.getElementById('divID11');
    div.innerHTML =  document.getElementById('tableId11').getElementsByTagName("tbody")[0].rows.length;
})();

您的JavaScript代码计算表中的所有行(thead和tbody)。如果您只想计算tbody行,则必须指定该元素(因此您必须修改您的代码以指定您想要使用的表的哪一部分)。

<强> JSFiddle here

答案 1 :(得分:0)

试试这个:

 var div = document.getElementById('divID11');
        div.innerHTML = document.getElementById('tableId1').getElementsByTagName('tbody')[0].rows.length;