2010-05-12 4 views

Répondre

1
<style type="text/css"> 
.mytable tr { 
    display: none; 
} 
</style> 

Just kidding. Ici, nous allons:

<table border="1" id="mytable"> 
<th> 
    <td>asd</td> 
    <td>asd</td> 
</th> 
<tr> 
    <td>asdkjas</td> 
    <td>asdasdjwa</td> 
</tr> 
<tr> 
    <td>asdkjas</td> 
    <td>asdasdjwa</td> 
</tr> 
</table> 

<script type="text/javascript"> 
window.onload=function(){ 
    hideTableRows(); 
} 
function hideTableRows() { 
    var myTableRows = document.getElementById("mytable").getElementsByTagName("tr"); 
    for(i=0;i< myTableRows.length;i++) { 
     myTableRows[i].style.display = "none"; 
    } 
} 
</script> 

Je pense une table nécessite des lignes, ne sera pas affiché avec seulement les en-têtes .. Je pourrais suggérer d'ajouter une ligne vide au début de la table, et le changement « i » dans la boucle à 1. De cette façon, la première rangée devrait être ignorée.

HTH Marko

+1

Merde je suis lent. :) – Marko

1

Pas besoin particulier de recourir à javascript, vous pouvez faire le tour par CSS aussi:

#table_id tr 
{ 
    display:none; 
} 

Cela devrait cacher tout TRs pas TH.

+0

D'un point de vue de l'accessibilité, vous ne devriez pas cacher les données qui sont susceptibles d'être jamais montré sans l'utilisation de javascript. –

5

si votre tableau est correctement balisé. Vous pouvez faire quelque chose comme:

document.getElementById('yourtable') 
     .getElementsByTagName('tbody')[0] 
     .style.display = 'none'; 

Ensuite, mettez cela sur un « onload » événement

Vous pouvez aussi le faire en CSS + Javascript en définissant une classe mondiale .js à votre balise, puis utiliser les CSS sélecteur.

html.js #yourtable tbody 
{ 
    display: none; 
} 
+0

OP dit "Sans Jquery ou toute bibliothèque JavaScript", il veut une solution avec javascript. – Sarfraz

Questions connexes