我有两个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>
答案 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移动了,现在它可以工作了。
感谢所有提供意见的人。
詹姆斯