如何隐藏包含特定值的类

How can i hide class contain specific value?

本文关键字:包含特 何隐藏 隐藏      更新时间:2023-09-26

如何使用javascriptphp隐藏类名称为amount的文本?

<span class="amount">$0.00</span>

我尝试了以下方法,但没有成功

<script language="javascript">
   $(".amount:has(a:contains('$0.00'))").hide();
</script>

假设jQuery基于原始问题中的代码。

你原来的剧本很接近。你真正需要的是:

$('.amount:contains($0.00)').hide()

文档:https://api.jquery.com/contains-selector/

奖金

如果你不会使用jQuery,这里有一些老式的方法。

Array.prototype.forEach.call(document.getElementsByClassName('amount'), function (e) {
  if (e.innerText == '$0.00') {
    e.style.display = 'none';
  }
})

设置样式是JavaScript不太干净,所以更好的做法是设置一个类,用相应的CSS来隐藏与该类匹配的元素。例如e.classList.add('hidden');.hidden { display: none; }

文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach (ie9 +)https://developer.mozilla.org/en-US/docs/Web/API/Element/classList (IE 10+)

试试这样写:

<script>
// Assign object
var AmtObj  =   $(".amount");
// Get contents
var Amount  =   AmtObj.html();
// If equals '$0.00', hide
if(Amount == '$0.00') {
    AmtObj.hide();
}   
</script>

试试下面的代码:

var item = $(".amount");
if(item.html() === "$0.00"){
    item.hide();
}

如果你想在没有格式化的情况下提取数字,这会给你带来很多麻烦。

如果你控制数据添加一个data-value到你的属性,并把原始数字,如<span class="amount" data-value='0.00'>$0.00</span>,然后选择它并隐藏它。

$(document).ready(function(){
    $(".amount:contains('$0.00')").hide();    
});