javascript - 当 div 内的范围包含使用 jquery 的特定文本时更改 div 的背景

标签 javascript jquery html

我有这 3 个 div:

<div class="price"><span>Free</span> </div><br/>

<div class="price"><span>$250 USD</span> </div><br/>

<div class="price"><span>$800 USD</span> </div>

div 的背景默认为红色,当该 div 的范围包含单词“Free”时,我想将其更改为绿色。

我已经尝试过的是这段代码:

$('.price > span').each(function(){
  if ($('.price > span').text()==="Free"){
    $('.price').css('background-color', 'green');
  }
})

为什么不起作用?

我的FIDDLE IS HERE

最佳答案

因为您的选择器抓取多个元素,所以当您在其范围内使用 .each() 时,您可以使用 this 来引用当前元素正在迭代:

$('.price > span').each(function(){
  if($(this).text()==="Free"){
    $(this).parent(".price").css('background-color', 'green');
  }
});

Updated Fiddle

关于javascript - 当 div 内的范围包含使用 jquery 的特定文本时更改 div 的背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48818446/

相关文章:

javascript - 传递一个带有参数的函数作为参数,但它采用调用函数的参数?

javascript - 将属性添加到类似于长度的javascript数组

javascript - jQuery,单击时,切换字段就像切换类一样

javascript - 我想在不重新加载页面的情况下更改<audio>的值

html - 通过 VBA 使用 QuerySelector 单击 HTML 元素

jquery - 使用 JQuery-UI 对表中的第 2 级列进行排序

html - 我们可以从静态 html 页面发送电子邮件吗?

javascript - package.json 中指定的依赖项

javascript - 返回一个元素在特定位置的数组

javascript - Rails 3,带有远程选项的 link_to - JavaScript 仅适用于第一次单击