2015-12-16 8 views
6

チェックボックスをクリックすると、このタグを作る方法<h3>?今は隠されています。チェックボックスをクリックしたときにタグを表示させる方法

<h3 class="bark">Bark Bark</h3> 
<input type="checkbox" class="title">Hear a dog</input> 

CSS:jQueryのを使用して

.bark{ 
    visibility: hidden 
} 

input[type="checkbox"]:checked { 
visibility: visible 
} 
+3

a * before *兄弟のためのjavascriptなしではできません。チェックボックスの後に '.bark'が** **だった場合、':checked + .bark {visibility:visible; } 'あなたはそれにjavascriptタグを付けなかったので、私は直接答えませんでした。 –

+0

それは私の問題でした。私はCSSだけでそれが欲しかった。これは説明しています。 – Deke

+0

[前の兄弟のCSSセレクタはありますか?](http://stackoverflow.com/questions/1817792/is-there-a-previous-sibling-css-selector) – Abhitalks

答えて

-3

あなたが行うことができます

if ($('.title:checked')){ 
    $('.bark').show(); 
} 
+0

これはトリック。イベントハンドラがチェックされているときは、それがチェックされているかどうかだけでなく、イベントハンドラを起動する必要があります。 – TAGraves

+0

私は特にCSSを探していました。 – Deke

+0

@AnnGilardo http://stackoverflow.com/questions/1817792/is-there-a-previous-sibling-css-selector – TAGraves

-1

HTML

<h3 class="bark" id="bark" onclick="showtag()">Bark Bark</h3> 
<input type="checkbox" class="title">Hear a dog</input> 

JAVASCRIPT

<script language="javascript"> 
    function showtag() { 
     var showme = document.getelementbyid("bark"); 
     showme.style.visibility = "visible"; 
    } 
</script> 
-1
<h3 class="bark"><a href="#" id="id1">Bark Bark</a></h3> 
<input type="checkbox" class="title">Hear a dog</input> 
<script>$('#id1').click(function() { 
      if($(".title").is(':checked')){ 
       $('.title').css('visibility','visible');      
      }else{ 
       $('.title').css('visibility','hidden');            
      } 
     });</script> 

任意のjqueryの分のJSが含まれており、このコードを試してください:あなたはinputh3を置くべき

.bark{ 
 
    visibility: hidden; 
 
} 
 

 
input[type="checkbox"]:checked + .bark { 
 
    visibility: visible; 
 
}
<input type="checkbox" class="title">Hear a dog</input> 
 
<h3 class="bark">Bark Bark</h3>

:1つのトリックがあるスクリプト言語を使用しない

+0

これはどのように動作するはずですか? h3をクリックすると、実際にチェックボックスが非表示になります。 –

4

を。 +記号を使用してh3を表示させます。

Working Fiddle

+0

これは、OPが問題にしていたのと同じエラー、つまりマークアップの中の漂白の「」を繰り返します。 –

10

.bark{ 
 
    visibility: hidden 
 
} 
 

 
input[type="checkbox"]:checked + h3.bark { 
 
visibility: visible 
 
}
<input type="checkbox" class="title">Hear a dog</input> 
 
<h3 class="bark">Bark Bark</h3>

+0

これは、OPが問題にしていたのと同じエラー、つまり、マークアップの中の漂白の「」を繰り返します。 –

1

function checkInput(cbox) { 
 
     if (cbox.checked) { 
 
      document.getElementById('check_box').style.visibility='visible'; 
 
     } 
 
     else{ 
 
      document.getElementById('check_box').style.visibility='hidden'; 
 
     } 
 
}
#check_box{ 
 
    visibility: hidden; 
 
}
<h3 id="check_box">Bark Bark</h3> 
 
<input type="checkbox" class="title" onclick="checkInput(this);">Hear a dog

1

他の回答が言うように、あなたは、H3の上にチェックボックスを配置する必要があります。
しかし、実際にテキスト「Hear a dog」をh3の下に表示するには、HTMLとCSSの両方を少し変更する必要があります。

#checkbark { 
 
    display: none 
 
} 
 
.bark { 
 
    visibility: hidden 
 
} 
 
#checkbark:checked + .bark { 
 
    visibility: visible 
 
} 
 
label[for='checkbark'] { 
 
    cursor: pointer; 
 
} 
 
label[for='checkbark']::before { 
 
    content: '\2610 '; 
 
} 
 
#checkbark:checked ~ label[for='checkbark']::before { 
 
    content: '\2611 '; 
 
}
<input type="checkbox" class="title" id="checkbark"> 
 
<h3 class="bark">Bark Bark</h3> 
 
<label for="checkbark">Hear a dog</label>

このスニペットは、チェックボックスのラベルは、必ずしもチェックボックス自体の横に表示する必要がないという事実を使用しています。そこで、チェックボックスをh3の上に、ラベルをその下に置きます。
また、ラベルにいくつかの装飾を追加して、チェックボックスがその場所にあるように見せましたが、それは化粧品です。それを使用する必要はありません。

+0

これは正解です! BTWはティックシンボルを愛しています:) 'label-'要素に 'user-select:none'を追加しますが、これは化粧品です。 – Vucko

+0

これは間違いなく機能しますが、この回答を無効にする正しい答えである短い回答があります。 – OneStig

+0

@ StigCoder04あなたの意見です。この回答は主にOPの出力に似ています(ラベルの上にh3が付いています)。 –

関連する問題