0

onClick リスナーを div に追加するにはどうすればよいですか。以前に非アクティブだった場合はdivの名前をdivclass activeに変更し、ユーザーがリストを再度クリックすると「アクティブ」という単語を削除します。私はこれを行う方法が途方に暮れています。これは私がこれまでに試したことです

<script>

$function tog(){
$(this).toggleClass('active');
return false;
}



$(function() {

var dd = new DropDown( $('#dd') );

$(document).click(function() {
    // all dropdowns
    $('.wrapper-dropdown-4').removeClass('active');
});

});
</script>

クラス名を変更したいdivは以下のように定義されています

<div id="dd" onclick="tog()" class="wrapper-dropdown-4">
  <!--something-->
  </div>

私はこれを試しました..

<html>
<head>
<script>
$('#dd').on('click', function(){
$(this).toggleClass('active')
});
</script>

<style>
.active {
color: red;
}
</style>
</head>
<body>

<div id="dd" class="wrapper-dropdown-4">
ddddd
</div>

</body>
</html>

これで何が問題なのですか?

Chrome 開発者ツールを使用して要素 ID を調べていますが、このコードを使用しても変化が見られません。それで、誰か助けてもらえますか?ありがとう。:)

4

2 に答える 2

2

必要な唯一のスクリプトは

$(function(){
    $('#dd').on('click', function(){
        $(this).toggleClass('active')
    });
});

デモ:フィドル

于 2013-02-23T13:36:13.087 に答える
0

オブジェクト $(this) は認識できません を渡す必要があります。 tog(this) を使用してください

  <script>
     function tog(obj)
     {
        $(obj).toggleClass('active');
        return false;
     }



 $(function() {

 var dd = new DropDown( $('#dd') );

 $(document).click(function() {
 // all dropdowns
 $('.wrapper-dropdown-4').removeClass('active');
 });

 });
 </script>

 <div id="dd" onclick="tog(this)" class="wrapper-dropdown-4">
   <!--something-->
 </div>

最善の方法ではありませんが、イベントにクリックを登録することで、イベントをバインドできます。

于 2013-02-23T13:36:12.530 に答える