Javascript选择器控制台日志

问题描述 投票:0回答:1

当我运行代码并单击每个选项卡时,它必须在控制台上打印,我单击了哪个选项卡但是没有打印,问题是什么?

var main = function() {
    "use strict";

    $(".tabs a span").toArray().forEach(function(element) {

        $(element).on("click", function() {

            var $element = $(element);

            $(".tabs a span").removeClass("active");
            $(element).addClass("active");
            $("main .content").empty();

            if($element.parent().is(":nth-child(1)")) {
                console.log("FIRST TAB CLICKED");
            } else if($element.parent().is(":nth-child(2)")) {

                console.log("SECOND TAB CLICKED");
            } else if($element.parent().is(":nth-child(3)")) {
                console.log("THIRD TAB CLICKED");
            }

            return false;
        });


    });

};
javascript jquery css-selectors
1个回答
0
投票

你想要.parent().parent() - 现在你正在看span,而span的父母是一个锚。不是制表符元素。它会清理一下,做些什么......

var $tab = $element.parent().parent();
if($tab.is(".......")) {}

它会加快代码的速度,因为你没有在每个if语句块上检查链。

© www.soinside.com 2019 - 2024. All rights reserved.