我需要编写一些Javascript来隐藏表(通过添加隐藏的样式类),然后更改链接的文本以表示状态。隐藏部分有效但文本的更改不起作用。这是javascript ...
function toggle(idToHide, hiderID) {
var element = document.getElementById(idToHide);
var hiddenClass = " hidden";
if(element.getClassName().contains(hiddenClass)) {
document.getElementById(hiderID).innerHTML = "Hide";
element.className = element.className.replace(hiddenClass,'');
} else {
document.getElementById(hiderID).innerHTML = "Show";
element.className += hiddenClass;
}
}
......和标记...
<a id="mercurial.repos.inactive.hider" href="#" onclick="toggle('mercurial.repos.inactive', 'mercurial.repos.inactive.hider'); return false;">Hide</a>
<table id="mercurial.repos.inactive">...</table>
有关为何不更改hider链接文本的任何线索?如果我从控制台运行特定的行,它可以正常工作。
如果这有任何不同,这是JIRA插件的一部分。
答案 0 :(得分:0)
为什么getClassName
?
尝试:
if(element.className.contains(hiddenClass)) {
另外,也许可以查看hiddenClass = "hidden" // (No space)
然后在添加空格和类名时添加它,例如:
element.className += " " + hiddenClass;
答案 1 :(得分:0)
我最终放弃了这个并简单地用“显示/隐藏”替换它,而不是试图在文本之间交换。