2017-10-19 169 views
0

當您在引導選項卡中有兩個具有相同ID的div時,它是否正常僅激活一個?顯示內容兩次 - Bootstrap選項卡

守則

<ul> 
    <li><a data-toggle="tab" href="#id1" aria-expanded="false">ID1</a><li> 
    <li><a data-toggle="tab" href="#id1" aria-expanded="false">ID1</a><li> 
</ul> 
<div class="tab-content"> 
    <div id="id1"> 
     Hello 
    </div> 
    <div id="2"> 
     Hello Again :) 
    </div> 
    <div id="2"> 
     OMG Hello Again :) 
    </div> 
</div> 

但是當我點擊ID2,我只看到了第一個div的內容,而忽略另一個,這正常嗎?

+3

沒有重複的ID,如果你真的想有重複的識別碼,使用名字或 –

+0

類你怎麼能指望它上班?目前你的HTML甚至不會生成引導標籤,而'href'都指向'id1'。 –

+0

如果您違反基本規則,請考慮「正常」您可能會收到意想不到的結果。文檔中的id必須是唯一的,其中之一就是HTML。 – CBroe

回答

2

是的,這是正常的,因爲你使用相同的id多個div使其他diov滅絕。你應該從來沒有做到這一點。

要做到這一點,你可以用在你的父母DIV,並給它id=2

<ul> 
    <li><a data-toggle="tab" href="#id1" aria-expanded="false">ID1</a><li> 
    <li><a data-toggle="tab" href="#id1" aria-expanded="false">ID1</a><li> 
</ul> 
<div class="tab-content"> 
    <div id="id1"> 
     Hello 
    </div> 
    <div id="2"> 
     <div> Hello Again :) </div> 
     <div> OMG Hello Again :) </div> 
    </div> 
</div> 
+0

您不能有多個元素相同的ID。如果其他人正在這樣做,那麼請將此傳達給他們。 :) – void

+0

你可以使用相同的ID兩次,你只是沒有SUPPOSED,因爲像'document.getElementById(str)'這樣的JavaScript方法將只返回第一個匹配的元素。有解決方法,是的,但正確的解決方案只是使用類而不是ID如果重複是預期的。不要強迫方形釘入圓孔。 – Blazemonger

+0

準確'因爲像document.getElementById(str)這樣的JavaScript方法只會返回第一個匹配的元素,所以你不應該使用重複的id。永遠不要鼓勵一種不好的做法,因爲它沒有造成任何傷害! – void

相關問題