2017-01-27 19 views
2

當我添加下面的代碼。HTML [顯示] Code僅在添加2時顯示其中的1個?

<a id="show_id" 
    onclick="document.getElementById('spoiler_id').style.display=''; 
      document.getElementById('show_id').style.display='none';" 
    class="link"> 
    [Show] 
</a> 
<span id="spoiler_id" style="display: none"> 
    <a onclick="document.getElementById('spoiler_id').style.display='none'; 
       document.getElementById('show_id').style.display='';" 
    class="link"> 
    [Hide] 
    </a> 
<br> 
INSERT CONTENT HERE 
</span> 

我只能得到這些代碼中的一個實際工作,當我把它們中的2個HTML頁面?任何幫助爲什麼這會繼續發生?

乾杯, 詹姆斯

+2

您需要設置不同的id名稱。改爲使用類名稱的getElementsByClassName。 – mhshimul

+0

什麼是ID? –

+0

那麼我將如何更改ID? – user3662313

回答

0

添加第二個代碼塊的作品,但你需要確保你使用的ID是兩個塊不同。假設塊1的ID爲show_idspoiler_id,塊2也有ID show_idspoiler_id,那麼document.getElementById(show_id)將始終選擇第一個出現show_id

<!--Code blocks. Note they both have the same IDs and getElementById--> 
 
<!--Block 1--> 
 
<a id="show_id" 
 
    onclick="document.getElementById('spoiler_id').style.display=''; 
 
      document.getElementById('show_id').style.display='none';" 
 
    class="link"> 
 
    [ShowBlock1] 
 
</a> 
 
<span id="spoiler_id" style="display: none"> 
 
    <a onclick="document.getElementById('spoiler_id').style.display='none'; 
 
       document.getElementById('show_id').style.display='';" 
 
    class="link"> 
 
    [Hide] 
 
    </a> 
 
<br> 
 
INSERT CONTENT HERE 
 
</span> 
 

 
<!--Block 2--> 
 
<a id="show_id" 
 
    onclick="document.getElementById('spoiler_id').style.display=''; 
 
      document.getElementById('show_id').style.display='none';" 
 
    class="link"> 
 
    [ShowBlock2] 
 
</a> 
 
<span id="spoiler_id" style="display: none"> 
 
    <a onclick="document.getElementById('spoiler_id').style.display='none'; 
 
       document.getElementById('show_id').style.display='';" 
 
    class="link"> 
 
    [Hide] 
 
    </a> 
 
<br> 
 
INSERT CONTENT HERE 
 
</span>

您應該編輯塊2的ID,以確保它是指本身,而不是其他塊。只需將show_idspoiler_id更改爲其他內容,並相應地更改getElementById()Here's the JSFiddle for that.

相關問題