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

如何在if语句中实现:.page-title含Welcome时为.example加excluded类

问题修正方案

嘿,你的代码里有两个关键问题导致没生效,咱们来一一解决:

问题1:错误的条件判断逻辑

你直接把".page-title:contains('Welcome')"作为if的判断条件,在JavaScript里非空字符串永远会被判定为true——不管页面里有没有匹配的元素,这个条件都会成立。正确的做法是用jQuery检查匹配到的元素数量是否大于0,以此判断元素是否存在且包含目标文本。

问题2:混用原生JS和jQuery方法

document.getElementsByClassName("example")是原生JavaScript的方法,它返回的是一个HTML集合,并没有jQuery专属的.addClass()方法。你要么全程用jQuery的语法,要么用原生JS的方式添加类。

修正后的jQuery版本代码

<script>
$(document).ready(function(){
  // 先判断是否存在包含Welcome文本的.page-title元素
  if($(".page-title:contains('Welcome')").length > 0){
    // 用jQuery选择器选中.example元素,调用addClass方法
    $(".example").addClass("excluded");
  }
});
</script>

原生JavaScript替代版本(无需依赖jQuery)

如果你不想用jQuery,也可以用纯原生JS实现需求:

<script>
document.addEventListener('DOMContentLoaded', function(){
  // 获取所有.page-title元素,检查是否有包含Welcome文本的
  const pageTitles = document.querySelectorAll('.page-title');
  let hasWelcome = false;
  pageTitles.forEach(title => {
    if(title.textContent.includes('Welcome')){
      hasWelcome = true;
    }
  });
  
  if(hasWelcome){
    // 获取所有.example元素,逐个添加excluded类
    const examples = document.querySelectorAll('.example');
    examples.forEach(el => {
      el.classList.add('excluded');
    });
  }
});
</script>

内容的提问来源于stack exchange,提问作者Jesper Heller Hansen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 16:02:55