0

だから私はいくつかの機能を持っています:

function Toggle(id)
{
   EToggle(document.getElementById(id));
}

function EToggle(element)
{
   var subject = element.getElementsByTagName("div")[0];
   if(subject.style.display == "none")
   {
      subject.style.display = "block";
   }
   else
   {
      subject.style.display = "none";
   }
}

Toggle関数はロード時に呼び出され、正常に機能します。しかし、私が言うとき
<a href="javascript:Toggle(flat)">、何も起こりません。

だから問題は、なぜそれがリンクでは機能しないのに、ページの読み込みでは機能しないのかということです。

詳細が必要な場合は、こちらが私のウェブサイトです。

4

2 に答える 2

3

使用する

<a href="javascript:Toggle('flat')">

それ以外の

<a href="javascript:Toggle(flat)">
于 2012-10-27T06:50:00.617 に答える
1

まず、Mateiが述べたように、htmlのid文字列を一重引用符で囲みます。

次に、collapsible.jsの31行目を変更します

クリックされた要素に含まれる最初のdivを要求しています。問題は、<a>タグ自体に何も含まれていないことです。<a>に続くdivの後にいるので、親ノードのdiv要素を取得する必要があります。

var subject = element.parentNode.getElementsByTagName("div")[0];

構造は次のようになっていることを忘れないでください。

<div class="collapsible" id="demo">
    <a href="javascript:Toggle('demo')"><h1>Demolition and Removal</h1></a>
    <div style="display: none; ">
        <p>Content removed from here</p>
    </div>
</div>
于 2012-10-27T07:04:37.900 に答える