首页 > 解决方案 > 检查当前页面上是否存在数组中的任何类并使用 jQuery 将匹配的类保存为变量

问题描述

我正在为具有许多不同模板的 CMS 构建插件。作为插件的一部分,我从页面上的特定描述框中提取文本。问题是每个模板的描述框都有不同的类名。我已经让插件在使用“.class1”的特定模板上工作,但我想让它工作,不管它安装在什么模板上。

我基本上想将每个模板中的类名放在一个数组中,然后检查页面上的类名。然后我想将匹配的类名存储在我可以使用的变量中。

标签: javascriptjqueryhtml

解决方案


这将遍历一个类数组并检查是否有任何元素与页面上的每个类匹配。匹配的类名被推入一个新数组。

var classes = [".abc", ".def", ".ghi"];
var found = [];

for(var i = 0; i < classes.length; i++) {
    if($(classes[i]).length > 0) {
        found.push(classes[i]);
    }
}

如果您确定只会找到初始列表中的一个类,则可以在第一次点击后停止:

var classes = [".abc", ".def", ".ghi"];
var found;

for(var i = 0; i < classes.length; i++) {
    if($(classes[i]).length > 0) {
        found = classes[i];
        break;
    }
}

推荐阅读