2017-11-19 6 views
0

チェックボックスの状態によっては2つのdivをトグルさせようとしていますが、動作させることはできません。チェックボックスの状態に応じてdivを切り離す/再接続する

このチェックボックスをオンにすると、divクラス "2"のみが表示されます。このチェックボックスをオフにすると、div 1のみが表示されます。

私はそれを半分持っていますが、どのように正しくコンテンツを切り替えるかを理解することはできません。別の問題は、トグルされたコンテンツが以前の場所に再表示されないことです。

<input type="checkbox" id="toggle"> 

<div class="content"> 
<p>Lorem ipsum <span class="1">1</span><span class="2">2</span> dolor sit</p> 
</div> 

y = $('.2').detach(); 
var x; 
$('#toggle').change(function() { 
if (!this.checked) 
    x = $('.1').detach(); 
else 
    $('.content').append(x); 
}); 

See my Fiddle

+0

注:私は「アクティブ」クラスやディスプレイを使用することはできません:なしソリューション –

+0

ロジックが複雑ではありません...あなたはXを取り外した場合、それはあなたがYを戻したい理にかなっています...いいえ? – charlietfl

+0

また、htmlは '$( '。content p')' – charlietfl

答えて

0

は、あなたは、単にチェックするかどうされているチェックボックスの状態に基づいてコンテンツを切り替えるには、showhideメソッドを使用することができます。

もう1つの問題は、トグルされたコンテンツが再表示されないことです。以前は でした。

問題は、要素の末尾に追加するappendメソッドでコンテンツを追加していたことでした。

$('.2').hide(); 
 

 
$('#toggle').change(function() { 
 
    if (this.checked){ 
 
    $('.2').show(); 
 
    $('.1').hide(); 
 
    return 
 
    } 
 
    $('.2').hide(); 
 
    $('.1').show(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<input type="checkbox" id="toggle"> 
 

 
<div class="content"> 
 
<p>Lorem ipsum 
 
<span class="1">1</span> 
 
<span class="2">2</span> 
 
dolor sit 
 
</p> 
 
</div>

関連する問題