Jquery:基于行跨度长度的新类添加问题

Jquery:基于行跨度长度的新类添加问题,jquery,class,html-table,Jquery,Class,Html Table,如何根据行跨度长度添加新类。例如,在表中,某些行的rowspan为td,且长度大于2。我需要在这些行上添加一个新类 例如: <table class="table table-border"> <thead> <th>Ship</th> <th>Unit</th> <th>Branch</th> <th>Ran

如何根据行跨度长度添加新类。例如,在表中,某些行的rowspan为td,且长度大于2。我需要在这些行上添加一个新类

例如:

<table class="table table-border">
        <thead>
        <th>Ship</th>
        <th>Unit</th>
        <th>Branch</th>
        <th>Rank</th>
        <th>Sanc</th>
        </thead>
        <tbody>
        <tr class="allrow">
            <td rowspan="3">CAB1</td>
            <td rowspan="2">HM/CAB</td>
            <td rowspan="2">SEAMAN</td>
            <td>MCPO(X)</td>
            <td>MCPO</td>
        </tr>

        <tr class="allrow">
            <td>FC-I</td>
            <td>FC-J</td>
        </tr>

        <tr class="allrow">
            <td>FC-I</td>
            <td>FC-J</td>
            <td>4</td>
            <td>FC-J</td>
        </tr>
        <tr class="allrow">
            <td rowspan="3">CAB2</td>
            <td rowspan="2">HM/CAB</td>
            <td>SEAMAN</td>
            <td>MCPO(X)</td>
            <td>MCPO</td>
        </tr>

        <tr class="allrow">
            <td>FC-I</td>
            <td>FC-J</td>
            <td>FC-J</td>
        </tr>

        <tr class="allrow">
            <td>FC-I</td>
            <td>FC-J</td>
            <td>4</td>
            <td>FC-J</td>
        </tr>
        <tbody>
    </table>

有人能帮我吗?

获取所有
tr
元素并使用该方法过滤掉。对于筛选,获取当前上下文(当前行,使用
this
引用)中具有
rowspan
属性(using)的所有元素,并比较长度。最后,将类添加到过滤的元素中

// get all elements
$('.allrow')
  // iterate over to filter
  .filter(function() {
    // get all elements within the element with rowspan 
    // specify context parameter to filter within
    return $('[rowspan]', this).length > 2;
  })
  // finally add class
  .addClass('ships');
.ships{
颜色:红色;
}

船
单位
分支机构
等级
Sanc
驾驶室1
HM/驾驶室
水手
MCPO(X)
MCPO
FC-I
FC-J
FC-I
FC-J
4.
FC-J
驾驶室2
HM/驾驶室
水手
MCPO(X)
MCPO
FC-I
FC-J
FC-J
FC-I
FC-J
4.
FC-J

您必须使用attr读取
行span

请参阅片段

$('body.allrow td').filter(函数(){
让findTdLength=$(this.attr('rowspan');
console.log(findtdleength);
如果(findTdLength>2)
{
$(this.parent().addClass('ships');
}
});
.ships{
背景色:红色;
}

船
单位
分支机构
等级
Sanc
驾驶室1
HM/驾驶室
水手
MCPO(X)
MCPO
FC-I
FC-J
FC-I
FC-J
4.
FC-J
驾驶室2
HM/驾驶室
水手
MCPO(X)
MCPO
FC-I
FC-J
FC-J
FC-I
FC-J
4.
FC-J

尝试遍历每个
tr

$('.allrow')。每个(函数(){
if($(this).find('td[rowspan]')。长度>2){
$(此).addClass('ships');
}
});

船
单位
分支机构
等级
Sanc
驾驶室1
HM/驾驶室
水手
MCPO(X)
MCPO
FC-I
FC-J
FC-I
FC-J
4.
FC-J
驾驶室2
HM/驾驶室
水手
MCPO(X)
MCPO
FC-I
FC-J
FC-J
FC-I
FC-J
4.
FC-J

不使用rowspan值rowspan length,就像某些tr有两行span(某些值某些值),而某些tr有三行span(某些值某些值)@Pranav C Balan
// get all elements
$('.allrow')
  // iterate over to filter
  .filter(function() {
    // get all elements within the element with rowspan 
    // specify context parameter to filter within
    return $('[rowspan]', this).length > 2;
  })
  // finally add class
  .addClass('ships');