如何隐藏和用jquery显示div元素(不在第二个div上工作)

时间:2009-10-03 14:38:37

标签: jquery html

我有两个div。我想根据条件显示一个并隐藏另一个。我的问题是jquery只分配第一个div,我可以通过查看Web开发人员输出来确认,为什么?

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

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

标记:

<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>

3 个答案:

答案 0 :(得分:2)

尝试隐藏包含的元素,我不知道<asp:ImageButton>转变为什么,假设它们是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();  
}

或者只是尝试:

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

或:

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

答案 1 :(得分:1)

你根本不应该隐藏表格单元格,它们不打算以这种方式使用。将一个元素放在可以隐藏的单元格中,或者根本不使用表格。

答案 2 :(得分:0)

Ohhh Duhhh!在第二个div渲染之前我正在执行我的脚本! 我在页面中间需要一些jscript来调用第三方ActiveX控件。我错误地添加了我的jscript以隐藏和显示控件。 不幸的是,其中一些控件还没有被重新安排。我已经将部分jscript移动了,现在它可以工作了。

感谢所有提供意见的人。

詹姆斯