-1

私は次のようなテーブルを持っています:

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

多くのページで。これらのページはすべて 1 つのページにレンダリングされます。JavaScript を適用して、ロード時に以下を使用してそれを削除すると、次のようになります。

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

1 つのテーブルのみが削除され、他のテーブルは削除されません。JavaScript を使用して、すべてのレンダリング ページのテーブルを削除しようとしています。これを行う方法?

編集:私自身が解決策を見つけました

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

1 に答える 1

2

anID一意の識別子であり、基本的には次のことを意味します。1 つしか存在できません。

代わりにタグ名 ( 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);
    }
}
于 2010-04-22T11:15:16.250 に答える