下面的代码可以获取带有'rowspan'属性的html表tds,
$elem.find('td').filter('[rowspan]')
但是如何才能获得'rowspan'超过1的tds,例如:
$elem.find('td').filter('[rowspan > 1]')
答案 0 :(得分:5)
您可以将function
应用于filter
并返回rowSpan
大于1
的元素:
$.elem.find('td').filter(function() {
return this.rowSpan > 1;
});
请注意,由于attr()
是本地元素属性,因此无需包装this
或重新包装$(this)
(作为rowSpan
) (方便地已经是数字类型,因此不需要进行数字转换。)
$('td').filter(function() {
return this.rowSpan > 1;
}).css('color', 'red')

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
<tbody>
<tr>
<td>No rowspan</td>
<td rowspan=1>Rowspan 1</td>
<td rowspan=2>Rowspan 2</td>
</tr>
</tbody>
</table>
&#13;
答案 1 :(得分:0)
尝试这样的事情: -
$elem.find('td').filter(function(){
return (parseInt($(this).attr('rowspan'),10) > 1);
});
答案 2 :(得分:0)
使用:parseInt($(this).attr('rowspan'),10) > 1
答案 3 :(得分:0)
您可以迭代每个td
元素并检查属性rowspan
是否为&gt; 1.在我的例子中,我使用css类来表示td是否有行数&gt; 1相应地添加到此元素类pass
或fail
。
$("table tbody tr td[rowspan]").each(function() {
$(this).addClass(parseInt($(this).attr("rowspan"), 10) > 1 ? "pass" : "fail");
});
.pass {
background: green;
}
.fail {
background: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tbody>
<tr>
<td rowspan='2'>2</td>
<td rowspan='3'>3</td>
<td>no rowspan</td>
<td rowspan='1'>1</td>
</tr>
<tr>
<td rowspan='2'>2</td>
<td rowspan='3'>3</td>
<td>no rowspan</td>
<td rowspan='1'>1</td>
</tr>
<tr>
<td rowspan='2'>2</td>
<td rowspan='3'>3</td>
<td>no rowspan</td>
<td rowspan='1'>1</td>
</tr>
</tbody>
</table>
答案 4 :(得分:0)
要获得'rowspan'超过1的tds,您可以尝试以下方法:
var allTdsWithMoreThanOneRowspan = $elem.find('td[rowspan]').filter(function () {
return ($(this).attr('rowspan') > 1);
})