2016-04-15 7 views
0

私はウェブプログラミングを初めて利用しており、情報の一覧を展開したり折りたたむリンクを作成したいと考えています。次の例に示すように、ラジオボタンを使用してこれを行うことができました。 ラジオボタンや通常のボタンを使用する代わりに、クリック可能なリンクを使用してこの同じ機能を実現する方法を教えてください。例:+ Moreリンクを使用してウェブページ内の情報のリストを展開/折りたたむ方法

可能であれば例を示してください。

<script type="text/javascript"> 
     function OnChangeCheckbox1 (checkbox) { 

      if (checkbox.checked) { 
       document.getElementById(checkbox.name).style.display = 'none'; 
       document.getElementById(checkbox.id).style.display = 'none'; 
      } 
     } 
     function OnChangeCheckbox2 (checkbox) { 

      if (checkbox.checked) { 
       document.getElementById(checkbox.name).style.display = 'block'; 
       document.getElementById(checkbox.value).style.display = 'block'; 
      } 
     } 
    </script> 


* Some Information about X<br> 
<label class="radio"><input id="id_clasification2" type="radio" name="moreid1" value="lessid1" onclick="OnChangeCheckbox2 (this)" />+ More</label> 
<span style="display:none" id="moreid1" ><label for="id_advisor">First some text<br>First more text</label></span> 
<label style="display:none" class="radio" id="lessid1"><input id="lessid1" type="radio" name="moreid1" value="Staff/Faculty" onclick="OnChangeCheckbox1 (this)"/>- Less</label> 

<br><br> 

* Some Information about Y<br> 
<label class="radio"><input id="id_clasification2" type="radio" name="moreid2" value="lessid2" onclick="OnChangeCheckbox2 (this)" > + More</label> 
<span style="display:none" id="moreid2" ><label for="id_advisor">Second Some text<br>Second more text</label></span> 
<label style="display:none" class="radio" id="lessid2"><input id="lessid2" type="radio" name="moreid2" value="Staff/Faculty" onclick="OnChangeCheckbox1 (this)"/>- Less</label> 

<br><br><br> 
Aditional Information goes here 

enter image description here

ワーキングコード:https://jsfiddle.net/hey4769/owpat8zf/

答えて

1

それが値/名前/ id属性を使用するという考えですが、これはすべての要素では動作しませんのでご注意ください。 name属性(少なくともいくつかの要素について)もhtml5では非推奨です。

私はデータ属性を使用することを選択しました。そして、私はjQueryを使用して甘やかされているので、私はjavascriptでいくつかのことをテストすることに決めました.2つの異なる関数を使用しました.1つはthisを使用し、もう1つはイベントを渡します。

表示/非表示の要素を選択するdocument.querySelectorはCSSセレクタのように機能しています。

また、a要素のテキストをクリックして変更しています。最後に、コンソールログをいくつか追加しました。便利だと思います!

https://jsfiddle.net/hamu21gj/

+0

詳しい説明ありがとうございましたと例を私に示しました。理解することは非常に役に立ちました。 –

+0

ようこそ。ところで、querySelectorは、最初に一致する要素(クラスも)に対してのみ機能します。複数の要素を使用するにはquerySelectorAll – yezzz

1

あなたはこのようなあなたのJavaScriptを追加しててhrefすることができます

href="javascript:MyFunction" 

私はただの例を作るためにあなたのコードを少し変更。

https://jsfiddle.net/owpat8zf/3/

関連する問題