我无法获取锚标记的父元素

HTML代码:


<ul class="nav nav-tabs">

    <li role="presentation" id="tab1" class="active"><a onclick="switchTabs(1)">Tab1</a></li>

    <li role="presentation" id="tab2"><a onclick="switchTabs(2)">Tab2</a></li>

</ul>

JS代码:点击时没有出错,但不做切换


function switchTabs(idx) {

    // this is not working

    var $li = $(this).parent();

    if($li.hasClass('active')) {

        return false; // not enter here

    }

    $li.removeClass('active');

    if (idx === 1) {

        $li.next().addClass('active');

    } else {

        $li.prev().addClass('active');

    }


    // but this works while using id selector

    /*if (idx === 1) {

        $("#tab1").addClass('active');

        $("#tab2").removeClass('active');

    } else if(idx === 2) {

        $("#tab2").addClass('active');

        $("#tab1").removeClass('active');

    }*/

    return false;

}

原因是什么?


PIPIONE
浏览 160回答 3
3回答

开心每一天1111

将元素发送到函数中,然后您将拥有它的父元素:<a onclick="switchTabs(this,1)">进而function switchTabs(elm,idx) {// this is not working&nbsp; var $li = $(elm).parent();&nbsp; // Rest of your code...
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript