我得到的标签文本正确吗
本文关键字:文本 标签 | 更新日期: 2023-09-27 17:57:54
我有一些JS,它读取asp标签的文本,并基于此设置div是否可见。
function setToLabel() {
text = document.getElementById('add_view');
lbl = document.getElementById('lblAddVisible');
var isHidden = text.innerText == 'true';
text.style.display = isHidden ? 'block' : 'none';
}
$(document).ready
(
function()
{
setToLabel();
}
);
问题是,只有当我显式设置isHidden变量时,它才有效。当我告诉它阅读标签以获得bool时,它永远不会起作用。
感谢
这是因为当呈现控件时,ASP会为控件提供与您指定的ID不同的ID。如果脚本与ASP代码呈现在同一页面上,则可以添加此
lbl = document.getElementById('<%= lblAddVisible.ClientID %>');
否则,您将不得不向lblAddVisible
控件添加一个CssClass
,并按类名获取元素。此外,请确保使用了读取innerHTML所需的正确元素。
如果你的aspx页面中有嵌套控件,可能是你没有使用正确的Id。试试这个:
text = document.getElementById('<%=add_view.ClientID%>');
function setToLabel() {
text = document.getElementById('add_view');
lbl = document.getElementById('lblAddVisible');
var isHidden = lbl .innerText;
text.style.display = isHidden ? 'block' : 'none';
}
$(document).ready
(
function()
{
setToLabel();
}
);
您需要使用lbl.innerText
而不是txt.innerText
,因为您必须从标签