我有以下的javascriptJavascript代码不工作 - 在显示和隐藏的div
function toggle_profile(source, target) {
var ele = document.getElementById(target);
var text = document.getElementById(source);
if (ele.style.display == "block") {
ele.style.display = "none";
text.innerHTML = "+ ";
} else {
ele.style.display = "block";
text.innerHTML = "- ";
}
}
和下面是在html:
<c:forEach items="#{inventory.categories}" var="c">
<a id="#{c.name}" href="javascript:toggle_profile(#{c.name}, #{c.name}div);">+ </a>
<h:outputText value=" " />
<h:commandLink action="#{inventory.getBooks(c)}" value="#{c.name}" style="font-weight: bold" />
<br />
<div id="#{c.name}div" style="display: none">
<c:forEach items="#{c.subCategories}" var="s">
<i> <h:commandLink action="#{inventory.getBooks(s)}" value="#{s.name}" />
</i>
<br />
</c:forEach>
<br />
</div>
</c:forEach>
的文本显示成功,但+链接什么也不做。
'的document.getElementById(目标);',而不是'的document.getElementById(追求的目标);'? – Adonais 2013-05-05 20:42:24
修正了它,但不幸的是,这并没有解决问题 – mangusbrother 2013-05-05 20:45:22
是div id id =“#{c.name} div”当您查看页面的源代码时解析为正确的ID? – erencan 2013-05-06 08:42:49