使用jQuery选择表组列

时间:2013-06-24 09:32:12

标签: javascript jquery css

这是我想要选择的表格列的一部分。这是代码:

<tr>    
<th colspan="2">
</th>
</tr>
<tr>
<td></td><td></td>
</tr>
<tr>
<td colspan="2"></td>
</tr>

现在我希望能够选择整个大栏目。尝试了很多方法但到目前为止都没有。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

好吧,它将是

$('th[colspan="2"],td[colspan="2"]')

答案 1 :(得分:0)

如果您知道它是哪一列,即第三列,那么它就像

$("table td:nth-child(3),table th:nth-child(3)")

另一个答案可能是

以防您可以更改标记

<tr>    
<th colspan="2" class="bigcol">
</th>
</tr>
<tr>
<td class="bigcol"></td><td></td>
</tr>
<tr>
<td colspan="2" class="bigcol"></td>
</tr>


$(".bigcol").hide()

答案 2 :(得分:0)

这个更复杂的jquery代码可以解决问题。它正在寻找具有特定colspan的th和所有td(因此它并不完美,因为你不能连续两个td。它还隐藏了所需数量的td s和1个colspan。 http://jsfiddle.net/balintbako/xz6W4/

var colw = 2;
var position = $("th[colspan=" + colw + "]").prevAll().length;
$("th[colspan=" + colw + "]").hide();
$("tr").each(function () {
    if ($(this).find("th").length !== 0) {    
        return;
    }    
    if ($(this).find("td[colspan=" + colw + "]").length !== 0) {
        $(this).find("td[colspan=" + colw + "]").hide();        
        return;
    } 
    for (var i = 1; i <= colw; i++) {
        $(this).find("td:nth-child(" + (position + i) + ")").hide();
    }
});