在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ jquery點擊a鏈接切換div

jquery點擊a鏈接切換div

想要實現(xiàn)的效果是點擊某個a鏈接,對應的div會顯示出來,其他的div隱藏
一共有7個a鏈接和7個div

代碼:

var $tab_a = $(".tab_a");
    var $tab_div = $(".tab_div");

    for (var i = 0; i < $tab_a.length; i++){
        $($tab_a[i]).on('click', function () {
            document.write(i);  //7
            if($($tab_a[i]).attr("class") === 'tab_a current_a')
                return;
            for (var j = 0; j < $tab_div.length; j++){
                if (i == j){
                    $(this).addClass("current_a").parent().siblings().find("a").removeAttr("current_a");
                }
            }
            //$(this).addClass("current_a").parent().siblings().find("a").removeAttr("current_a");
        });
    }

得不到想要的切換效果,而且打印出來的i是總數(shù)7,求解謝謝~

回答
編輯回答
心沉

形成閉包了
這種綁定方式是原生js使用的,使用jq可以更優(yōu)雅的綁定事件

$tab_a.on('click',function(){
    var i = $tab_a.index( $(this) )
    //你這里是要寫的啥,沒看懂
    $tab_div.eq(i).show().siblings('.tab_div').hide()
})
2017年9月5日 16:33
編輯回答
乖乖瀦

顯然你已經(jīng)知道問題所在了,第一個 for 循環(huán)內(nèi)

$($tab_a[i]).on('click', function () {
...
});

把 a 對應的 div 對象作為參數(shù),傳入 handler ,變成

$($tab_a[i]).click($tab_div[i], function (div) {
...
});

然后操作 div 參數(shù)便可。

2018年2月6日 16:33