Zil*_*lch 5 html javascript css
发生了什么......如果你改变HTML中不同标签之间的间距或换行符,就会导致JavaScript或CSS出现问题(不确定哪一个).
代码本身是仅使用HTML,JavaScript和CSS的基本可折叠列表.我意识到你可以用jquery等来做这件事.只是试图得到这个代码的解释.如果单击下面的jsfiddle链接,运行它,然后单击它将展开的标题,然后单击折叠.整理或更改间距并再次运行 - 单击时消失.
HTML
<div class='collapsibleCont'><h3 id='collapsible1' class='collapsibleTitle' onclick="handleCollapsible('collapsible1')">+ title</h3><p style="display:none" class='collapsibleContent'>hello</p>
Run Code Online (Sandbox Code Playgroud)
JavaScript的
function handleCollapsible(id) {
var clickedTitle = document.getElementById(id);
var contentC = clickedTitle.parentNode.childNodes[1];
if (contentC.style.display == 'none') {
contentC.style.display = 'block';
var mysplittedtitle = clickedTitle.innerHTML.split(" ");
var newTitle = "- " + mysplittedtitle[1];
clickedTitle.innerHTML = newTitle;
} else {
contentC.style.display = 'none';
var mysplittedtitle = clickedTitle.innerHTML.split(" ");
var newTitle = "+ " + mysplittedtitle[1];
clickedTitle.innerHTML = newTitle;
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助或想法将不胜感激.
-
原始代码在下面的帖子中转到"Th0rndike".
当更改空间或添加新行时,您将更改childNode
clickedTitle.parentNode.childNodes[1];
Run Code Online (Sandbox Code Playgroud)
你真正想要的是children[1]
所以你可以将代码更改为这样
clickedTitle.parentNode.children[1];
Run Code Online (Sandbox Code Playgroud)
有关 childNode 和 Children 之间的更多区别,您可以查看此链接:
JavaScript 中的 child 和 childNode 有什么区别?
| 归档时间: |
|
| 查看次数: |
67 次 |
| 最近记录: |