我有一个锚标记。我想隐藏/动态显示它。由于某种原因,我不能把它放在div / span中。我该怎么办?
答案 0 :(得分:9)
对锚标记引用DOM元素后,请执行以下操作:
// Hide
element.style.display = "none";
// Show again
element.style.display = "";
有几种方法可以获得该参考。例如,如果锚点有id
,则可以使用getElementById
:
HTML:
<a href='whatever' id='foo'>Whatever</a>
JavaScript的:
element = document.getElementById('foo');
如果锚没有ID,并且您不想因任何原因添加一个ID,则可以使用其他信息来标识正确的元素。使用jQuery,Prototype,YUI,Closure或any of several others等库可以轻松完成此操作,这样您就可以使用CSS选择器找到有问题的锚点。如果没有库,您必须依赖少量良好支持的DOM函数或处理浏览器变体,这是库帮助您避免的。
以下是循环浏览页面上所有锚点并根据其href
隐藏一个锚点的示例(live copy):
HTML:
<a href='http://stackoverflow.com'>StackOverflow</a>
<a href='http://superuser.com'>SuperUser</a>
<a href='http://serverfault.com'>ServerFault</a>
JavaScript的:
var links, index, link;
links = document.getElementsByTagName('a');
for (index = 0; index < links.length; ++index) {
link = links[index];
if (link.href.indexOf('superuser') >= 0) {
link.style.display = "none";
break;
}
}
如果使用库,这会变得非常容易。例如,这是它的jQuery版本(live copy):
$('a[href*=superuser]').hide();
这是Prototype版本(live copy):
$$('a[href*=superuser]').invoke('hide');