2010-02-24 23 views
0

Je ne sais pas si c'est même possible, mais j'ai une situation où je dois pouvoir masquer la ligne de la table précédente onload.Utilisation de prototype/scriptaculous pour masquer la ligne précédente

Situation:

<table> 
<tr> 
    <td>1</td> 
    <td>a</td> 
</tr> 
<tr> 
    <td>2</td> 
    <td>b</td> 
</tr>  
<tr id="removeabove"> 
    <td>3</td> 
    <td>c</td> 
</tr> 
</table> 

Maintenant encore je ne sais pas si cela est encore possible, havent trouvé jusqu'à présent, mais quand je mets l'id removeabove dans une rangée, je veux la ligne précédente pour aller tapette et Vuydez (display: none;)

Tnx à l'avance

Répondre

1

Lorsque vous mettez l'ID sur la ligne, je suppose que vous avez une variable pointant à l'élément de la ligne. Si oui, vous pouvez cacher la ligne précédente comme ceci:

var prev = myrow.previous(); 
if (prev) { 
    prev.hide(); 
} 

(Et si vous n'êtes pas, juste précédez ci-dessus avec var myrow = $('removeabove');) Element#previous vous donne l'élément frère précédent dans les DOM, ou indéfini s'il n 'Ton. Vous pouvez également utiliser un sélecteur CSS pour ne faire correspondre qu'un élément précédent avec le sélecteur, mais cela ne vous semble pas nécessaire pour ce que vous faisiez.

Si vous voulez que la ligne à vraiment disparu (et pas seulement caché), vous pouvez utiliser remove au lieu de hide, mais vous avez mentionné spécifiquement « display: none » qui est ce que hide fait, et donc ...