Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用javascript计算“平面”表中的行数_Javascript_Html_Html Table - Fatal编程技术网

如何使用javascript计算“平面”表中的行数

如何使用javascript计算“平面”表中的行数,javascript,html,html-table,Javascript,Html,Html Table,假设我有下表。如何在一个段落中使用简单的javascript显示表中的行数 我是javascript新手,因此如果您可以包括关于如何调用函数的任何注释,这将非常有用 一 二 一 二 请尝试下面的代码 var table=document.getElementById'myTable'; document.getElementByIdrowscount.innerHTML=table.childNodes.length; 一 二 一 二 假设您有如下表: <div id="rowsN

假设我有下表。如何在一个段落中使用简单的javascript显示表中的行数

我是javascript新手,因此如果您可以包括关于如何调用函数的任何注释,这将非常有用

一 二 一 二 请尝试下面的代码

var table=document.getElementById'myTable'; document.getElementByIdrowscount.innerHTML=table.childNodes.length;

一 二 一 二
假设您有如下表:

<div id="rowsNumber"></div>
<table id="myTable">

  <tr>
    <td>One</td>
    <td>Two</td>
  </tr>
  <tr>
    <td>One</td>
    <td>Two</td>
  </tr>

</table>
并调用传递表节点作为参数的函数,例如:

var count = getTableRowCount(document.getElementById('myTable'));
document.getElementById('rowsNumber').innerHTML = 'Total rows = ' + count;
现在,如果您想观察一个侦听器,以便每当表的任何tr改变其可见性时,都需要一个MutationObserver在tr行上进行观察。要添加变异观察者,您可以编写如下代码:

var observer = new MutationObserver(function(mutations) {
     var count = getTableRowCount(document.getElementById('myTable'));
     document.getElementById('rowsNumber').innerHTML = 'Total rows = '   + count;
  });

//find the target on which to observe
var target = document.querySelector('table tr');

observer.observe(target, {
    attributes: true
});

任何关于如何调用函数堆栈溢出的评论都不是介绍这些基础知识的地方——有很多教程网站和/或书籍记得这些!至少看看他们的JavaScript课程吧。它是免费的,可以教你一些基础知识。这可以很好地计算可见行:document.getElementById'rowscont.innerHTML=$'tr:visible.length-1。但是它不会更新,是否需要在此语句中的某个位置进行更改?这可以很好地计算可见行:document.getElementById'rowscount'。innerHTML=$'tr:visible'。length-1。但是它不会更新,是否需要在此语句中的某个位置进行更改?这可以很好地计算可见行:document.getElementById'rowscount'。innerHTML=$'tr:visible'。length-1。但是它没有更新,我需要在这个声明的某个地方进行更改吗?请检查更新的答案。我添加了一个MutationObserver,这样每当发生任何更改时,都可以重新计算行数
var count = getTableRowCount(document.getElementById('myTable'));
document.getElementById('rowsNumber').innerHTML = 'Total rows = ' + count;
var observer = new MutationObserver(function(mutations) {
     var count = getTableRowCount(document.getElementById('myTable'));
     document.getElementById('rowsNumber').innerHTML = 'Total rows = '   + count;
  });

//find the target on which to observe
var target = document.querySelector('table tr');

observer.observe(target, {
    attributes: true
});