2017-03-31 376 views
1

我有一個Bootstrap按鈕組,它具有2個按鈕(JSON和XML),JSON在頁面加載時處於活動狀態。按下XML按鈕將自動改變焦點。Bootstrap按鈕組顯示/隱藏Div

現在,我想爲這些按鈕添加一些行爲,以便單擊XML按鈕隱藏error-json pre元素並顯示error-xml pre元素。

是否有一個Bootstrap-native的方式來實現這一目標?

<div class="btn-group"> 
    <button class="btn btn-default" autofocus="true">JSON</button> 
    <button class="btn btn-default">XML</button> 
</div> 

<pre id="error-json" class="hidden"><code class="language-json">{ 
    "ErrorCode": STATUS_CODE, 
    "Description": ERROR_MSG 
}</code></pre> 

<pre id="error-xml"><code class="language-xml">&lt;error&gt; 
    &lt;ErrorCode&gt;STATUS_CODE&lt;/ErrorCode&gt; 
    &lt;Description&gt;ERROR_MSG&lt;/Description&gt; 
&lt;/error&gt; 
</code></pre> 

回答

1

$("#error-xml").hide(); 
 
$(".btn").click(function() { 
 
\t var id = $(this).attr("id"); 
 
    if(id == "json"){ 
 
    $(this).attr("autofocus",true).siblings().attr("autofocus",false); 
 
    \t $("#error-xml").hide(); 
 
    \t $("#error-json").show(); 
 
    }else{ 
 
    $(this).attr("autofocus",true).siblings().attr("autofocus",false); 
 
    \t $("#error-json").hide(); 
 
    \t $("#error-xml").show(); 
 
    } 
 
});
:focus{ 
 
    outline: 1px solid blue; 
 
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 

 

 
<div class="btn-group"> 
 
    <button class="btn btn-default" id="json" autofocus="autofocus">JSON</button> 
 
    <button class="btn btn-default" id="xml">XML</button> 
 
</div> 
 

 
<pre id="error-json" class="hidden"><code class="language-json">{ 
 
    "ErrorCode": STATUS_CODE, 
 
    "Description": ERROR_MSG 
 
}</code></pre> 
 

 
<pre id="error-xml"><code class="language-xml">&lt;error&gt; 
 
    &lt;ErrorCode&gt;STATUS_CODE&lt;/ErrorCode&gt; 
 
    &lt;Description&gt;ERROR_MSG&lt;/Description&gt; 
 
&lt;/error&gt; 
 
</code></pre>