1

ねえ、私はこのばかげた問題を抱えています。あなたがそれを解決するのを手伝ってくれることを願っています. 「a」要素がいくつかあり、クリックしたときにアクティブなクラスを追加したいだけです。

私はこれを試しました:

<a href="javascript:mifunction()"></a>

js:
function mifunction(){
 $(this).addClass('active');
}

しかし、うまくいかないので、これを試しました:

<a></a>

js:
$('a').click(function() {
  $(this).addClass('active');               
});

それもうまくいきません。両方混ぜたらうまくいきました。ただし、ユーザーは要素をダブルクリックする必要があり、これはオプションではありません。

<a href="javascript:mifunction()"></a>
js:

function mifunction(){
 $('a').click(function() {
   $(this).addClass('active');              
 });
}

これを解決する方法はありますか?

どうもありがとうございました!

4

4 に答える 4

3

ここでは、2番目の例で機能しています。

jQueryコードを次のようにラップする必要があるかもしれません:

$(function() {

  $('a').click(function() {
     $('a.active').removeClass('active'); // you may also want to remove previous
     $(this).addClass('active');               
  });

});

また、HTMLにjQueryライブラリパスが含まれていることを確認してください。

<script type="text/javascript" src="/path/jQuery.min.js"></script>

また:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>

編集:

(リンクは動的に追加されます)

$(function() {

  $('a').on( 'click', function() {
     $('a.active').removeClass('active'); // you may also want to remove previous
     $(this).addClass('active');               
  });

});
于 2012-05-23T19:27:20.153 に答える
2

DOMとJavaScriptを操作する新旧の方法を組み合わせています。

The

$('a').click(function() {
    $(this).addClass('active');
}

正常に動作するはずです。

それを中に入れるだけです$(document).ready(function() {});

したがって、文字通り、次のようになります。

<script type="text/javascript">
    $(document).ready(function() {
        $('a').click(function() { 
            $(this).addClass('active');
        });
    });
</script>
<a>Click me</a>


また、スタイルを設定しようとしているだけの場合は、CSSを介して実行できます。
アクティブの場合: a:active { color: orange; }
訪問者の場合:a:visited { color:green; }

于 2012-05-23T19:26:28.967 に答える
2

これは正常に機能するため、問題は別の場所に存在する必要があります。

$('a').click(function () {
   $(this).addClass('active'); 
});​

アンカーを動的に作成する場合は、.on()代わりに次を使用する必要があります。

$('#container').on('click', 'a', function () {
    $(this).addClass('active'); 
});

.on(): http://jsfiddle.net/jbabey/bqgFN/1/

ドキュメント.on(): http://api.jquery.com/on/

于 2012-05-23T19:57:21.537 に答える
1

以下のようにしてみてください、

<a class="link" href="javascript:void(0)"></a>

$(function () {
   $('.link').click (function () {
      $(this).addClass('active');
   });
});
于 2012-05-23T19:25:53.273 に答える