过滤字符串取决于逗号分隔

时间:2019-02-18 12:11:46

标签: javascript jquery

我有一个具有以下值的表格单元:

if (Math.floor(change/coin) > 0){
    console.log(Math.floor(change/coin)+ " pièces de " + coin + " euro");
    change  = change % coin;
}

我想创建一种过滤器,以检查元素中的逗号分隔少于5个,如果少于5个,则向该元素添加一个类。

解决此任务的方法是什么?

我正在考虑一个if语句,该语句检查元素的文本并检查它是否包含五个','(逗号)。

6 个答案:

答案 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>