2016-04-23 10 views
0

jQueryとJavascriptを使用してデータからCV /レジュームを作成しています。これらのテーブルの改ページを支援するため、我々はColumnizerというjQueryプラグインを利用しています。それはかなりうまくいくが、私たちはまだ、ページの終わりに正しく表示されないときどきヘッダーを持っている。jQueryを使用して空のテーブルを非表示にする

プラグインを修正しようとするのではなく、本当にちょうど2つのヘッダー行である「空の」表を隠す必要があります。それは難しいことが証明されています。削除する必要がある行を検出していないか、または操作の順序がオフになっています。最後の操作としてこれらの行を削除するのが最も簡単なようです。それは起こっているようには思われません。ここで

html and rendered document

我々がしようとしたスクリプトです。これはHTMLページの一番下にあります。

<script> 
    $(document).load(function() { 
     var x = document.getElementsByTagName("table"); 

     //alert(x.length); 

     //alert(x[0]); 

     for (var i = 0; i < x.length; i++) { 
      alert(x[i].innerHTML); 

      try { 
       var childBody = x[i].getElementsByTagName("tbody"); 

       //alert(childBody[0].innerHTML);   

       var childRows = childBody[0].getElementsByTagName("tr"); 
      } catch (e) { 
       //alert("no child rows"); 
       x[i].className = "hidden"; 
          //$(x[i]).removeClass().addClass("hidden"); 
      } 
     } 
    }); 
</script> 

ご協力いただきありがとうございます。詳細が必要な場合は、私に知らせてください。私はこれで初心者です!

+0

理想的なデモ '満たされた' テーブルの、HTMLを示し、そして1 '空' してください。そうすれば、私たちはあなたの問題を再現して、何かを働かせることができます。 –

+0

そして、あなたはこれらのテーブルがプラグインによって動的に作成されないと確信しています – adeneo

+0

こんにちは!あなたの問題を解決するなら、私の答えを受け入れてください。 :) [回答を受け入れる方法は?](http://meta.stackexchange.com/a/5235/170863) –

答えて

1

これは:not(:has(*)).closestで解決することができます。

$('tbody:not(:has(*))').closest('table').hide(); 

DEMO

関連する問題