【发布时间】:2011-09-20 17:33:33
【问题描述】:
我正在使用 c# 将应用程序移至 asp.net,其中已经包含一些 javascript。
我有以下javascript函数:
function toggle(id) {
var tog = document.getElementById(id);
if (tog == null) { return; }
var bExpand = tog.style.display == '';
tog.style.display = (bExpand ? 'none' : '');
}
我称它为<a href="javascript:void(0);" onclick="toggle('programinfo');" class="nobold">[-]</a>
如您所见,它唯一做的就是将显示属性从无切换为空白,从而相应地显示或不显示 id 'programinfo'。
来自coldfusion,它运行良好,我只有一个名为programinfo 的div,每次单击链接时它都会显示或不显示div 的内容。但是,现在它什么也没做。如果我在值tog.style.display 上添加警报,它会显示空白值或值无,所以我知道它正在获取值,但是它不再翻转值。
我在 div 和表格上都试过了,没有。然后我什至尝试在默认情况下将style="display:none;" 属性添加到表中以使其消失,但即使这样仍然不起作用。
此时我唯一的猜测是它与asp有关,但我无法在任何地方找到它,所以我不确定。有人有什么想法吗?谢谢。
编辑 - 通过请求 html 输出到浏览器:
<table width="100%" border="0" class="dgbc" cellspacing="0" cellpadding="5">
<tr>
<td colspan="12" class="section_header" style="background-repeat:no-repeat;background-image:url(images/tms_side1.jpg);margin:0;background-position:right;">
<span style="float: right;"><a href="javascript:void(0);" onclick="toggle('programinfo');" class="nobold">[-]</a></span>
PROGRAM INFO
</td>
</tr>
<tr>
<td valign="top">
<table width="100%">
<div id="programinfo" style="display:none;">
blah blah blah
</div>
</table>
</td>
</tr>
</table>
【问题讨论】:
-
页面是否在
.Master页面中? -
你试图切换的 div 是一个 asp.net 服务器控件还是只是一个普通的 html div?
-
似乎工作正常jsfiddle.net/T8Y59
-
您的
toggle函数在哪里声明?您能否提供一个由 ASP.NET 输出的 HTML 示例? -
-它们不在母版页中-只是常规的 html div 或表格-切换在外部 general.js 文件中
标签: javascript asp.net css