Javascript 如何切换文档元素的可见性?
我的表格上有这样一个标签:Javascript 如何切换文档元素的可见性?,javascript,asp.net,Javascript,Asp.net,我的表格上有这样一个标签: <asp:Label ID="lblPwPol" runat="server" Visible="false"> A bunch of text... </asp:Label> 定义如下: function mShowToolTip(aCtrl, aArg1) { document.getElementById("lblPwPol").style.display = 'block'; retur
<asp:Label ID="lblPwPol"
runat="server"
Visible="false">
A bunch of text...
</asp:Label>
定义如下:
function mShowToolTip(aCtrl, aArg1)
{
document.getElementById("lblPwPol").style.display = 'block';
return false;
}
function mHideToolTip()
{
document.getElementById("lblPwPol").style.display = 'none';
return false;
}
加载表单时,标签不可见(正确)
单击标签时,我的JS中出现异常:
Javascript运行时错误:无法获取未定义或空引用的属性“style”
这显然意味着document.getElementById(“lblPwPol”)
返回null
知道我做错了什么吗?我觉得这一定很愚蠢,但我对JS一无所知
我还尝试将
id=“lblPwPol”
改为name=“lblPwPol”
,但这没有什么区别。我认为您混淆了DOM元素(顺便说一句,它们也是XML)。看看这里如何访问像您这样的标签控件:我认为您混淆了DOM元素(顺便说一句,它们也是XML)。在这里看一下如何访问像您这样的标签控件:首先您应该删除标签的visible=“false”,因为您将其设置为visible false,所以它不会加载到Dom中。并保留style=“display:none”
像这样
<asp:Label ID="lblPwPol"
runat="server"
Style="display:none">
A bunch of text...
</asp:Label>
一堆文字。。。
首先应该删除标签的visible=“false”,因为您将其设置为visible false,所以它不会加载到Dom中。并保留style=“display:none”
像这样
<asp:Label ID="lblPwPol"
runat="server"
Style="display:none">
A bunch of text...
</asp:Label>
一堆文字。。。
使用asp.net控件时,在html中呈现控件时,id不同。您的id='lblPwPol'
在html中是不同的。因此,您可以使用document.getElementById('lblPwPol')
而不是使用document.getElementById(''')
,您的代码应该可以正常工作。如果您尝试@Sushil的建议,您应该只使用一组引号:document.getElementById('')
。但真正的问题是@Kris报告的问题:标签不在HTML输出中,因为Visible=“false”
。当您使用asp.net控件时,在HTML中呈现控件时,id是不同的。您的id='lblPwPol'
在html中是不同的。因此,您可以使用document.getElementById('lblPwPol')
而不是使用document.getElementById(''')
,您的代码应该可以正常工作。如果您尝试@Sushil的建议,您应该只使用一组引号:document.getElementById('')
。但真正的问题是@Kris报告的问题:由于Visible=“false”
,标签不在HTML输出中。