首页 > 解决方案 > 如果 div 文本包含特定文本,则从 span 替换文本

问题描述

如果div 包含文本,<span class="redbadge">则将文本No替换为Yes 。I am now visible

HTML

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

jQuery

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script>
jQuery(document).ready(function () {
​   ​$(".visibleonsearch").text(function () {
    return $(this).text().replace("No", "Yes"); 
});​​​​​ 
</script>

我不熟悉 jQuery 添加条件if

标签: javascriptjquery

解决方案


您可以尝试:contains像以下方式使用选择器:

jQuery(document).ready(function () {
  if($(".visibleonsearch:contains(I am now visible)").length){
    var span = $('.visibleonsearch').find('.redbadge'); 
    span.text(span.text().replace("No", "Yes"));
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="visibleonsearch">
  <span class="redbadge">No</span>
  I am now visible.
</div>


推荐阅读