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

如何在jQuery中添加条件:当div含指定文本时替换span内文本

条件替换指定元素文本的解决方案

你现在的代码会直接替换.visibleonsearch元素内所有的"No"文本,但没加上「包含指定文本」的判断条件,而且直接操作整个元素的文本还可能破坏原有的HTML结构(比如把包裹"No"的span标签给冲掉)。咱们调整下逻辑,就能精准实现需求:

核心实现思路

  • 遍历所有.visibleonsearch元素,逐个检查条件
  • 判断当前元素的文本内容是否包含I am now visible
  • 只有满足条件时,才修改该元素内部.redbadge span的文本

修改后的完整代码

<div class="visibleonsearch"> <span class="redbadge">No</span> I am now visible. </div>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
jQuery(document).ready(function () { 
  // 遍历每个目标div元素
  $(".visibleonsearch").each(function() {
    var $currentDiv = $(this);
    // 去除首尾空格后判断是否包含指定文本,避免空格干扰判断
    var hasTargetText = $currentDiv.text().trim().indexOf("I am now visible") !== -1;
    
    if (hasTargetText) {
      // 精准定位内部的redbadge span,替换文本
      $currentDiv.find(".redbadge").text("Yes");
    }
  });
});
</script>

为什么这么改更合理?

  • 用.each()遍历元素,确保每个div都能单独判断条件
  • 用.find(".redbadge")精准修改目标span,不会影响其他文本内容
  • 用indexOf判断文本存在性,完美兼容你使用的jQuery 1.7版本
  • 加上.trim()是为了避免元素首尾的空格干扰判断逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 09:17:50