对于补救问题感到抱歉,但由于某些原因,我无法围绕这个问题。
我有一组行,每行有3个单元格。使用Jquery我需要
更容易看看我的例子......
var dogSize = "large";
仅显示大型犬,按照带头的狗的颜色分组。如果标题没有项目,请不要显示。
<tr class="dogs">
<td class="name">Mindy</td> <td class="color">black</td> <td class="size">big</td> </tr>
<tr class="dogs">
<td class="name">Mandy</td> <td class="color">black</td> <td class="size">little</td></tr>
<tr class="dogs">
<td class="name">Tina</td> <td class="color">spotted</td> <td class="size">medium</td></tr>
<tr class="dogs">
<td class="name">Sandy</td> <td class="color">brown</td> <td class="size">big</td></tr>
<tr class="dogs">
<td class="name">Harry</td> <td class="color">brown</td> <td class="size">little</td></tr>
<tr class="dogs">
<td class="name">Sam</td> <td class="color">brown</td> <td class="size">medium</td></tr>
<tr class="dogs">
<td class="name">Larry</td> <td class="color">white</td> <td class="size">big</td></tr>
<tr class="dogs">
<td class="name">Chico</td> <td class="color">black</td> <td class="size">small</td></tr>
通常情况下,我会对此感到震惊,直到我弄明白,但此时我正在努力,不知道如何实现这一目标。非常感谢你的帮助!
答案 0 :(得分:0)
<强>已更新强>
您可以使用:contains()
伪选择器仅选择具有特定大小的行,并且可以使用.sort()
将表行排序为新的顺序:
var dogSize = 'medium',
$table = $('table'),
$TRs = $table.find('tr');
$TRs.filter(function () {
return ($(this).children('.size').text() != dogSize);
}).hide();
var arr = $TRs.sort(function (a, b) {
var aText = $(a).children('.color').text(),
bText = $(b).children('.color').text();
if (aText > bText) {
return 1;
} else if (aText < bText) {
return -1;
}
return 0;
});
$table.empty().append(arr);