javascript - 检查当前页面上是否存在数组中的任何类并使用 jQuery 将匹配的类保存为变量
问题描述
我正在为具有许多不同模板的 CMS 构建插件。作为插件的一部分,我从页面上的特定描述框中提取文本。问题是每个模板的描述框都有不同的类名。我已经让插件在使用“.class1”的特定模板上工作,但我想让它工作,不管它安装在什么模板上。
我基本上想将每个模板中的类名放在一个数组中,然后检查页面上的类名。然后我想将匹配的类名存储在我可以使用的变量中。
解决方案
这将遍历一个类数组并检查是否有任何元素与页面上的每个类匹配。匹配的类名被推入一个新数组。
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;
}
}
推荐阅读
- html - 在移动响应式分页正在消失
- c - 取 x 向量,最多 8 个完整数字并分开奇偶数,并以 c 中的升序显示
- c# - 日期时间列的时间组件上的 Dataview 自定义过滤器
- php - 网站顶部栏菜单中的愿望清单项目计数器(YITH Wishlist/WooCommerce)
- ios - 如何在 Swift 包管理器中排除对 Catalyst 的依赖?
- javascript - React js检测页面重新加载
- android - 如何使用 BottomNavigationView 实现导航?
- php - 为什么涉及不同年份时按日期范围查询不起作用?
- javascript - 在JS中切换时截断字符串
- c++ - 抛出异常:读取访问冲突**this**