我有一个具有以下值的表格单元:
if (Math.floor(change/coin) > 0){
console.log(Math.floor(change/coin)+ " pièces de " + coin + " euro");
change = change % coin;
}
我想创建一种过滤器,以检查元素中的逗号分隔少于5个,如果少于5个,则向该元素添加一个类。
解决此任务的方法是什么?
我正在考虑一个if语句,该语句检查元素的文本并检查它是否包含五个','(逗号)。
答案 0 :(得分:1)
您可以只使用split,然后检查长度
let str = `men,men-fashion,men-tops-sweatshirts,clothing,sweatshirts,sweatshirts-crewneck`
console.log(str.split(',').length > 5)
let str2 = 'hello,123'
console.log(str2.split(',').length > 5)
答案 1 :(得分:1)
let string ='men,men-fashion,men-tops-sweatshirts,clothing,sweatshirts,sweatshirts-crewneck';
if(string.split(',').length-1 < 5){
$(selector).addClass('class-name');
console.log(string.split(',').length-1);
//do stuff
}
答案 2 :(得分:1)
使用以下方法检查长度:
'men,men-fashion,men-tops-sweatshirts,clothing,sweatshirts,sweatshirts-crewneck'.split(',').length;
这取决于您使用的是JS还是jQuery,但是您需要通过一些选择器(如果可能的话,选择ID)来选择该元素,并在长度大于5的情况下添加这样的类:
$( "#yourElementId" ).addClass( "myClass" );
答案 3 :(得分:0)
尝试一下:
var cell_content = $('#whatever-you-need-to-select-this-cell').text();
var comas_count = cell_content.match(/,/g) || []).length
if(comas_count < 5){
// add class
}
答案 4 :(得分:0)
您可以使用split并检查结果数组的长度
$(document).ready(function(){
var texts = $("#td").html()
texts.split(',').length>5? $("#td").addClass('added'):false;
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<td data-category="referencing" id="td">
men,men-fashion,men-tops-sweatshirts,clothing,sweatshirts,sweatshirts-crewneck
</td>
</table>
答案 5 :(得分:0)
尝试一下。您将必须检查元素以查看结果。
$("td[data-category='referencing']").filter(function () {
var $this = $(this);
var arr = $this.text().split(",")
if (arr.length >=5) {
$this.addClass("commas");
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<table><tr>
<td data-category="referencing">
men,men-fashion,men-tops-sweatshirts,clothing,sweatshirts,sweatshirts-crewneck
</td></tr></table>