使用jquery检查元素中是否存在可能的类数组的最快方法

时间:2016-09-16 00:32:01

标签: jquery

我正在寻找最好的方法来整理它,或者是实际执行此类方法的最快和最佳方式。

我已经阅读了很多关于stackoverflow的问题,并且无法解决这个问题。我在下面有一个工作解决方案,但它看起来很臃肿,可能有更快或更清洁的方法。

See test fiddle here.

我正在尝试运行一个函数,但前提是我的body标签中不存在类数组。

请参阅下面的工作代码......

Source

似乎我能得到我想要的结果的唯一方法就是必须列出// run scroll reveal if none of these ie classes exist in the body tag if (!$('BODY.ie-9,BODY.ie-8,BODY.ie-7,BODY.ie-6')[0]) { // scroll reveal function window.sr = new ScrollReveal({ reset: false }); sr.reveal('FIGURE', { duration: 300 }); } 作为选择器。

我想要的结果是如果body标签中不存在这些BODY.ie-9,BODY.ie-8,BODY.ie-7,BODY.ie-6类,则运行子函数。

我们非常感谢任何建议。感谢

1 个答案:

答案 0 :(得分:3)

你甚至不需要jQuery:

// run scroll reveal if none of these ie classes exist in the body tag
if (!/(?:^|\s)ie\-[6-9](?:$|\s)/.test(document.body.className)) {
    // ...
}

此解决方案只检查class上的<body>属性,并使用Regex测试类名是否与ie-{character between 6 and 9, inclusive}匹配。它还确保它匹配整个类名(由空格填充或由字符串的开头/结尾填充)。