-1

私はこのコードを持っています:

<p class="faqsli" onclick="faqs1.className='faqsanswer';">
  چگونه ایمیل دهی سایت را محدود کنم؟
</p>


<div id="faqs1" class="faqshide">sometext</div> 私のCSS!

.faqsli{
padding: 0px 16px 0px 0px;
background-repeat: no-repeat;
background-image: url(miniic_li.png);
background-position: right 5px;
}
.faqshide{
display:none;
}
.faqsanswer{
font-family:Tahoma, Geneva, sans-serif;
margin-right:25px;
}

それは完璧に動作します。

誰かがクリック<p>するとクラスが変更されてユーザーに表示されますが、2回目にクリックされたときに<div>も非表示にしたいと思います。私は何をしなければなりませんか?<div><p>

4

2 に答える 2

3

代わりにこれを試してください:

<p class="faqsli" onclick="document.getElementById('faqs1').className='faqsanswer';">

divのIDを参照するだけでは、そのdivへの参照は取得されません。を使用document.getElementById()してを参照してdivから、を設定できますclassName

jQueryを使用している場合、これはより理にかなっている可能性があります。

更新:動的divおよびp

HTML

<p class="faqsli" data-div="faqs1">
    <!-- text here -->
</p>

<div id="faqs1" class="faqshide">
    <!-- other text here -->
</div>

JS

$( document ).ready( function () {

    $( document ).on( 'click', '.faqsli', function () {

        var id = $( this ).attr( 'data-div' );
        $( '#' + id ).toggle();

    } );

} );
于 2013-01-12T03:17:04.307 に答える
1

toggleClassクリックイベントで使用します。

<p class="faqsli" onclick="$('#faqs1').toggleClass('faqsanswer faqshide');">
  چگونه ایمیل دهی سایت را محدود کنم؟
</p>

デモ

于 2013-01-12T03:20:47.997 に答える