You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询:jQuery中.is()方法的原生JavaScript等价实现方式

原生JavaScript替代jQuery的.is()判断方案

当然有对应的原生实现啦!咱们先搞清楚你那段jQuery代码到底在做什么:它是在检查页面中是否存在至少一个同时拥有.product类,并且还带有.standalone或.expired类的元素,如果存在就执行后续逻辑。

下面给你两种常用的原生写法,按需选择:

方法一:直接使用querySelector(最简洁,和原逻辑最匹配)

querySelector支持复合CSS选择器,和jQuery的选择器语法几乎一致,只要能找到匹配的元素就会返回该元素(属于真值),找不到则返回null(假值),完全可以替代原代码的判断逻辑:

if (document.querySelector('.product.standalone, .product.expired')) {
  // 这里写你的results逻辑
}

方法二:遍历元素集合检查类名(适合已获取元素集合的场景)

如果你已经提前获取了所有.product元素,想要逐个检查它们的类名,可以用classList.contains结合数组的some方法:

// 先获取所有.product元素
const productElements = document.querySelectorAll('.product');
// 检查是否有元素符合条件
const hasTargetClass = Array.from(productElements).some(element => 
  element.classList.contains('standalone') || element.classList.contains('expired')
);

if (hasTargetClass) {
  // 这里写你的results逻辑
}

这里some方法会遍历数组,只要有一个元素满足条件就立即返回true,和jQuery.is()的判断逻辑完全对齐。

两种方法都能实现你要的效果,第一种更简洁高效,推荐优先使用哦~

内容的提问来源于stack exchange,提问作者John Wick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:56:36