我正试图在按钮上制作扰流板。 它仅适用于JSFIddle。 但它在HTML文档中不起作用:
HTML:
<button onclick="showSpoiler(this);" style="outline: none;" >Spoiler</button>
<span class="inner" style="display:none;">
This is a spoiler!
</span>
JS
window.showSpoiler = function (obj)
{
var inner = obj.parentNode.getElementsByTagName("span")[0];
if (inner.style.display == "none")
{
obj.style.display = "none";
inner.style.display = "";
}
else
inner.style.display = "none";
}
}
答案 0 :(得分:2)
<强>问题:强>
您的网站上没有任何<span>
元素,而您的剧透onclick
正在搜索该元素。使用inner.style.display
,您尝试访问style
inner
的{{1}}属性(因为无法找到undefined
),因此收到错误。
<强>解决方案:强>
更改
var inner = obj.parentNode.getElementsByTagName("span")[0];
到
var inner = obj.parentNode.getElementsByTagName("div")[0];
希望它有所帮助!