2017-10-19 111 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

相关问题