javascript - 访问 jQuery 中的类属性 - 键值对

标签 javascript jquery css arrays

我正在努力获取我的 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

关于javascript - 访问 jQuery 中的类属性 - 键值对,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27312147/

相关文章:

javascript - 如何在 Javascript 测验中保存分数

jquery - 如何在使用JQuery集成Youtube API时修复 'Uncaught Error: YouTube player element ID required.'错误?

java - jQuery访问字符串对象的java Map,其中该对象是字符串的映射

css - 网络字体的不同字体格式

javascript - 重置设置超时 - javascript

javascript - React 上下文 useReducer 未正确更新

javascript - 如果不满足最小最大范围,模式对话框中的输入文本验证会提示

javascript - 访问网站时搜索框处于事件状态。

javascript - jQuery CSS 悬停

javascript - 为什么我的函数只将 SRC 属性应用于第一个上传的图像?