簡體   English   中英

通過錨隱藏和顯示div內容

[英]hide and show div content via anchor

我有一個錨點,即單擊時根據其匹配的ID顯示內容。 但該腳本不起作用。

HTML:

<a href="javascript:ReverseDisplay('asd')">
Click to show/hide</a>

<div id="asd" style="display:none;">
<p>Content goes here.</p>
</div>

腳本:

function HideContent(d) {
document.getElementById(d).style.display = "none";
}
function ShowContent(d) {
document.getElementById(d).style.display = "block";
}
function ReverseDisplay(d) {
if(document.getElementById(d).style.display == "none") { document.getElementById(d).style.display = "block"; }
else { document.getElementById(d).style.display = "none"; }
}

這里

您的問題是這樣的:

“框架和擴展”部分的JSFiddle左側欄中,選擇了“ onLoad ”選項。 這會使您的函數包裝在事件偵聽器中(僅在加載頁面內容后才運行的函數)。 由於您的函數最終在此事件偵聽器中聲明,因此它們在window對象(javascript的“全局對象”)中不可用。 因此,當單擊鏈接嘗試調用該函數時,它將在窗口對象中“ 未定義 ”並引發錯誤(您可以在瀏覽器的控制台中看到此錯誤)。 只需將該選項更改為“ No wrap-in head” ,就可以了。 =)

令人上癮的是,我建議您使用小寫的首字母來命名函數,因為如果函數是構造函數,則最佳做法是僅以大寫字母開頭。

從jsfiddle framework and extension刪除onload 校驗

演示版

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM