0

それは私のメニューのhtmlです:

<ul class="nav">
    <li><a href="#a" class="active">A</a></li>
    <li><a href="#b" >B</a></li>
    <li><a href="#c" >C</a></li>
    <li><a href="#d" >D</a></li>
</ul>

メニューのリンクをクリックした後、アクティブなクラスがクリックされたに追加されます<li>

前もって感謝します

4

11 に答える 11

3

jqueryを使う

    $("li a").click(function() {
    $('li a').not(this).removeClass('active');
    $(this).toggleClass('active');
    });

デモ更新

于 2013-07-19T06:57:27.797 に答える
1

jQuery を使用する場合は、次のようなコードを使用できます。

$(function () {
    $(".nav a").click(function () {
        $(".nav a").removeClass("active");
        $(this).addClass("active");
    });
});
于 2013-07-19T06:57:51.793 に答える
0

私はこれがうまくいくと思います

var navlinks = document.getElementByClass('nav').getElementsByTagName('a');
for (var i = 0; i < navlinks.length; i++) {
    if(navlinks[i].className == 'active'){
        navlinks[i].parentNode.parentNode.parentNode.className = 'YOUR CLASS';
    }
}
于 2013-07-19T09:41:10.333 に答える
0

jQueryでこれを試してください

$('#nav li a').click(function(){
    $('#nav li a').removeClass('active');
    $(this).addClass('active');
});
于 2013-07-19T06:58:17.233 に答える
0

これは、質問で要求しなかったため、jquery を使用しないプロトタイプです。アクティブなクラスを持つ現在の要素を検索し、それを削除して、クリックしたクラスにクラスを追加します。

Javasript 関数

function activeThis(element){
    var current = document.getElementsByClassName("active")[0];
    current.className = null;
    element.className="active";
}

HTMLコード

<a href="#b" onclick="activeThis(this)">
于 2013-07-19T07:06:29.453 に答える
0

これはあなたのために働くはずです

elems =document.getElementsByClassName("nav")[0].getElementsByTagName("a");
for (var i = 0; i < elems.length; i++) {
        elems[i].addEventListener("click", function (e) {
                for (var i = 0; i < elems.length; i++) {
                    elems[i].className="";
                };
                this.className = "active";
        });
}
于 2013-07-19T07:45:02.743 に答える
-1

私のフィドルをチェックしてください

これがあなたの望むものであることを願っています

http://jsfiddle.net/arunberti/ftZzs/

a:visited 
{
    color:green;
}
a:active  {color:yellow;}

a:link {color:red;}   
于 2013-07-19T06:59:07.333 に答える
-1

それはとても簡単です

jQuery コード:

$('.nav li a').on('click',function(){ 
 $('.nav li').each(function() {
    var anc=$(this).find('a');
    if(anc.hasClass('active'))
    { 
       $(anc).removeClass('active');
    }
 })
  $(this).addClass('active');
 })

編集済み: コードが洗練されました

ハッピーコーディング:)

于 2013-07-19T06:58:22.543 に答える
-1

これを試して:

$('.nav li').click(function(e) {
    $(this).addClass('selected').siblings().removeClass('selected');
});

clickまたは、イベントをに添付する場合a:

$('.nav a').click(function(e) {
    e.preventDefault();
    $('.nav a').removeClass('selected');
    $(this).addClass('selected');
});

フィドルの例

于 2013-07-19T07:05:03.873 に答える