0

トグルが開いている/閉じているときに背景画像をプラスからマイナスに交換するために、.toggleClass を使用してリンクのクラスを変更しようとしています。Firebug でクラスを変更しようとしていることがわかるように、コードの正しい部分を参照しているようですが、実際には変更は行われません。これが私が持っているコードです:

<div class="slide-click-container">
<a href="#" class="slide-click-link">
    Click here to expand/contract

    <span class="control-arrow"><!-- PLUS/MINUS SIGN BACKGROUND IMAGE HERE --></span>
</a>

<div class="slider hide"> <!-- HIDE CLASS SETS DIV TO DISPLAY:NONE -->
    Content here
</div>
</div>

<script type="text/javascript">

$(".slide-click-container").click(function(ev){
ev.preventDefault();
$(this).find(".slider").slideToggle('slow');
$(this).find(".control-arrow").toggleClass('open');
});

</script>

あなたが提供できるどんな助けも大歓迎です!

ありがとう!

ジェイミー

4

2 に答える 2

0

クラスにレイアウトとコンテンツを与えます。

.control-arrow {
    width:14px;
    display:inline-block;
 }

および固定スペース:

<span class="control-arrow">&nbsp;<!-- PLUS/MINUS SIGN BACKGROUND IMAGE HERE --></span>
于 2013-03-04T12:37:59.493 に答える
0

これを使用する必要はありませんfind

$(".slide-click-container").click(function(ev){
   ev.preventDefault();
   $(".slider").slideToggle('slow');
   $(".control-arrow").toggleClass('open');
 });

編集:代わりにnextandを使用closest

$(".slide-click-container").click(function(ev){
   ev.preventDefault();
   $(this).parent().next().slideToggle('slow');
   $(this).closest(".control-arrow").toggleClass('open');
});
于 2013-03-04T12:17:06.793 に答える