我试图将一个类添加到它的一个字符串只包含一个零。
我正在尝试这样的事情,但不能让它发挥作用:
$(".stockinfo.col4").filter(function() {
return $(this).text() === "0";
}).addClass("orderitem");
HTML:
<div class="stockinfo col4"><strong>Stock</strong>: 0<span></span></div>
这是最好的方法吗?
编辑:这可行 - 但如果它不匹配字符串中的零,则会引发错误。可以使用它,但我不喜欢在控制台中出现错误 - 让我感到紧张
$(".stockinfo.col4").filter(function() {
console.log($(this).text().trim().match(/0/g).length)
if ($(this).text().trim().match(/0/g).length == 1) {
$(".stockinfo.col4").addClass("orderitem")
}
});
错误:
TypeError: Cannot read property 'length' of null
答案 0 :(得分:1)
您的代码应该有效。但是在我看来,您可以将值放在span
元素中,然后使用find()
进行检查。
$(".stockinfo.col4").filter(function() {
return $(this).find('span').text().trim() === "0";
}).addClass("orderitem");
&#13;
.orderitem{
color:red
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="stockinfo col4"><strong>Stock</strong>: <span>0</span>
</div>
&#13;
答案 1 :(得分:1)
您可以使用正则表达式,如下所示。
$(".stockinfo.col4").filter(function () {
return ($(this).text().match(/0/g) || []).length == 1;
}).addClass("orderitem");
.orderitem {
color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="stockinfo col4"><strong>Stock</strong>: 0<span></span></div>
<div class="stockinfo col4"><strong>Stock</strong>: 000<span></span></div>
<div class="stockinfo col4"><strong>Stock</strong>: 1<span></span></div>
UPDATE:,用于将类添加到0。
$(".stockinfo.col4").filter(function() {
return $(this).text().split(':')[1].trim() == '0';
}).addClass("orderitem");
.orderitem {
color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="stockinfo col4"><strong>Stock</strong>: 0<span></span></div>
<div class="stockinfo col4"><strong>Stock</strong>: 000<span></span></div>
<div class="stockinfo col4"><strong>Stock</strong>: 1<span></span></div>
<div class="stockinfo col4"><strong>Stock</strong>: 10<span></span></div>
答案 2 :(得分:1)
$(".stockinfo.col4").filter(function() {
if($(this).text().trim().match(/0/g)){//check if there is 0
return ($(this).text().trim().match(/0/g).length == 1)//count number of 0
}
}).addClass("orderitem");//add class
您必须首先检查字符串中是否有0。如果有0计数,如果== 1则添加类