2009-10-03 3 views
2

J'ai deux div. Je veux en montrer un et cacher l'autre en fonction d'une condition. Mon problème est que jquery n'attribue que la première div, je peux le dire en regardant la sortie du développeur web pour confirmer, pourquoi?comment cacher et montrer des éléments div avec jquery (ne fonctionne pas sur la deuxième div)

if(!fd.getActiveXInstalled()) { 
    $(".divActiveXdownloadButton").hide(); 
    $(".divActiveXNodownloadButton").show(); 
} else { 

    $(".divActiveXdownloadButton").show(); 
    $(".divActiveXNodownloadButton").hide(); 
} 

Et balisage:

<div> 
    <div class="divActiveXdownloadButton" style="display:none;"> 
     <asp:ImageButton ID="BtnDownload" runat="server" ></asp:ImageButton> 
    </div> 
    <div class="divActiveXNodownloadButton" style="display:none;"> 
     <asp:ImageButton ID="BtnReturn" runat="server"></asp:ImageButton> 
    </div> 
</div> 

Répondre

0

Ohhh Duhhh! J'exécutais mon script avant que le second div ne soit rendu! J'avais besoin d'un script juste au milieu de ma page pour appeler un contrôle ActiveX tiers. J'avais ajouté par erreur mon jscript pour masquer et montrer les commandes. Malheureusement, certains de ces contrôles n'avaient pas encore été rouverts. J'ai déplacé une partie du script et maintenant ça marche.

Merci à tous ceux qui ont contribué.

James

1

Vous ne devriez pas cacher les cellules de table du tout, ils ne sont pas destinés à être utilisés de cette façon. Soit mettre un élément dans la cellule que vous pouvez cacher, soit ne pas utiliser du tout de table.

+0

Puis-je masquer et afficher des lignes de tableau spécifiques? Merci – James

+0

Non, n'aime pas ça non plus. Je vais essayer autre chose. – James

+0

J'avais essayé les divs, mais centrer les boutons dans les divs était un problème. – James

2

Essayez de cacher les éléments contenus, je ne sais pas ce que <asp:ImageButton> s se transforment en, en supposant qu'ils sont des éléments d'entrée de type image:

if(!fd.getActiveXInstalled()) { 
    $('.tdActiveXdownloadButton > input[type=image]').hide(); 
    $(".tdActiveXdownloadButton > input[type=image]").show(); 
} else {  
    $(".tdActiveXdownloadButton > input[type=image]").show(); 
    $(".tdActiveXdownloadButton > input[type=image]").hide(); 
} 

ou peut-être juste essayer:

$('.tdActiveXdownloadButton').children().hide(); 

ou :

$('.tdActiveXdownloadButton > *').hide(); 
+0

Merci, je vais essayer ces derniers! – James

+0

Non, rien ne fonctionne .... – James

Questions connexes