在Javascript中删除单个页面的所有呈现页面中的表

时间:2010-04-22 11:05:12

标签: javascript html-table classname

我有一张像这样的表:

<table id="toc" class="toc" border="1" summary="Contents">
</table>

在很多页面中。所有这些页面都在一个页面中呈现。当我使用javascript来删除使用on load时使用以下内容删除:

var tbl = document.getElementById('toc');
if(tbl) tbl.parentNode.removeChild(tbl);

只删除一个表而不删除其他表。我试图使用javascript删除所有渲染页面中的表。怎么做?

编辑: 我自己找到了解决方案

 <script type='text/javascript'>
    window.onLoad = load(); 
  function load(){var tbl = document.getElementById('toc'); 
   if(tbl) tbl.parentNode.removeChild(tbl);} 
 </script> 

1 个答案:

答案 0 :(得分:2)

ID唯一标识符,基本上意味着:只能有一个。

尝试通过标记名(table)查找并比较类名。

var allTables = document.getElementsByTagName('table');

for (var i = 0; i < allTables.length; i++) {
    // Array.indexOf may not be available, see
    // https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Array/indexOf

    if (allTables[i].className.split(' ').indexOf('toc') != -1) {
        var node = allTables[i];
        node.parentNode.removeChild(node);
    }
}