我正在努力获取div的类,这些div计划成为基本asp.net网站上的选项卡。我希望使用jQuery进行此操作,因为这样以后我可以对动态函数进行更多控制。但是,当我尝试获取某些“ selectedTab”的值时,我只会得到“ undefined”。
我的问题是如何将相关的类以及该对象的名称(我认为自己在代码中正确使用)一起存储,然后检索它。

这是我非常简单的html的相关部分:

<div id="t1" class="tabs"></div>
<div id="t2" class="tabs"></div>
<div id="t3" class="selectedTab"></div>
<p></p>


而我的jQuery:

var tabMatchList = [{
    "tab1": "tabs"
}, {
    "tab2": "tabs"
}, {
    "tab3": "selectedTab"
}];
$.each(tabMatchList, function (i, val) {
    if ($("#t3").attr("class") == val[0]) {
        $("p").append(i + " was the tab searched for");
    } else {
        $("p").append(i + " was not the tab searched for." + val[0]);
    }
});


我们非常欢迎所有帮助和建议。

最佳答案

.attr("class")将返回不带.的类名称,因此您需要从数组中删除该名称:

另外,您的数组具有类selectedTab,但是在HTML中,该类是selectedTabs。确保它们匹配。

除此之外,您的代码将无法正常工作:

首先,我们需要命名对象数组中的属性:

var tabMatchList = [{
    tabName: "tab1", tabClass: "tabs"
    }, {
    tabName: "tab2", tabClass: "tabs"
    }, {
    tabName: "tab3", tabClass: "selectedTab"
}];


然后,我们可以执行以下操作:

$.each(tabMatchList, function (i, val) {
    if ($("#t3").attr("class") == val.tabClass) {
        $("p").append(" " + val.tabName + " was the tab searched for ");
    } else {
        $("p").append(" " + val.tabName + " was not the tab searched for.");
    }
});


DEMO

08-03 16:05