1

次の HTML では、任意のリスト項目をクリックしたときに、それにクラスを追加したいと考えて.activeいます。その後、リンクをクリックすると、li のクラス (.active を除く) を取得したいと考えています。

たとえば、最初の li をクリックすると.activeそれに class が追加され、リンクをクリックすると class が取得されoneます。

クラスを追加できますが、リンクをクリックしても、添付されたクラスの値を取得できません。

HTML:

<ul>
    <li class="one">One</li>
    <li class="two">Two</li>
    <li class="three">Three</li>    
</ul>

<a href="#" class="select">Check Selected </a>

jQuery:

$(document).on('click','ul li',function(e){
        $('ul li').removeClass('active');
        $(this).addClass("active");
    });

$(document).on('click','.select',function(e){
       var abc = $('ul li.active').attr('class');
         alert('Selected li class is ' + abc);    
    });

デモ: http://jsfiddle.net/n9awc/

助けてくれてありがとう。

4

4 に答える 4

2

使用する.split()

alert($('ul li.active').attr('class').split(' ')[0]);

デモ

ここでは、文字列をスペースで分割し、 を使用して最初のインデックス値を返して[0]います。

于 2013-10-24T12:40:13.410 に答える
0

これを試してみてください

    <ul>
        <li class="one">One</li>
        <li class="two">Two</li>
        <li class="three">Three</li>    
    </ul>

    <a href="#" class="select">Check Selected </a>

    $('ul').on('click','li',function(){
// in case of if some li element has the active class, left quit
$('li .active').removeClass('active')
        $(this).addClass("active');
    })


    $('.select').click(function(){
  alert("You've click" + $('.active').text())
    })
于 2013-10-24T12:40:31.457 に答える