我有一个母版页面,其中包含一个带有asp的DIV:超链接控件作为网站的菜单。
当我在某个页面上时(document.title ='Certain Page'),我想要javascript,它将遍历页面上的所有asp:超链接控件并隐藏它们(即设置为不可见)。我知道我可以用更少的努力在服务器端执行此操作,但我宁愿通过javascript执行此操作。
答案 0 :(得分:1)
您需要使用asp:Hyperlink
来装饰class
,这些asp:Hyperlinks
可用于在客户端识别它们(您也可以从控件ID生成中推断出这一点,但是会更容易出错,特别是因为ASP.NET 4.0提供了一些替代方案。)
这些链接有一个共同/一致的类,那么你只需要让Javascript选择该类并隐藏它们。根据您选择的客户端库(或缺少它),这可能就像一个简单的jQuery行(假设您的class="aspLink"
有$('.aspLink').hide();
):{{1}}
答案 1 :(得分:1)
确定什么是asp:超链接而不是常规超链接<a>
标记的唯一方法是在所有asp:超链接标记中添加一个类。然后你可以使用像
$('.AspLink').remove();
如果您有其他方法来确定它们是唯一的asp:超链接标记,您可以类似地使用其他一些jquery表达式。因此,如果你有<div>
并且知道div中的所有链接都是asp:超链接,你可以使用
$('#MyMenu a').remove();
答案 2 :(得分:1)
为外部DIV分配ID,然后使用以下内容:
var childs = document.getElementById("outerDiv").childNodes;
for(var i=0; i<childs.length;i++) {
if(childs[i].tagName == "a") childs[i].style.display = "none";
}
但实际上你可以在母版页的代码隐藏中做同样的事情。