2014-03-26 74 views
0

我試圖在按鈕上製造擾流板。 它只適用於JSFIddle。 但它並不HTML文檔中工作:按鈕上的擾流板

JsFiddle

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"; 
    } 
} 
+4

定義「它不工作」。 –

+0

http://jsfiddle.net/k5d98/這是小提琴。請在你的問題上更具體。任何錯誤?應用程序中的任何不當行爲?任何細節都可以幫助我們幫助你.D – Hoijof

+0

正如我之前所說的。它在jsfiddle中運行良好。但在html文檔中沒有任何操作。當您點擊按鈕 –

回答

2

問題:
您的網站上沒有任何<span>元素,而您的破壞者onclick正在搜索該元素。 inner.style.display您正在嘗試訪問inner(它是undefined,因爲找不到)的style屬性,因此出現錯誤。

解決方案:

變化
var inner = obj.parentNode.getElementsByTagName("span")[0];

var inner = obj.parentNode.getElementsByTagName("div")[0];

希望它能幫助!

+0

哦,你真好 –