Javascript jquery根据自定义列值对表行进行排序
我有下面的html有表数据Javascript jquery根据自定义列值对表行进行排序,javascript,jquery,html,sorting,Javascript,Jquery,Html,Sorting,我有下面的html有表数据 <table id="decisionTable" class= "CSSTableGenerator" width ="100%" border =1 id="table1"> <tr color="23145"> <th><b>CheckList</b></th> <th><b>Health</b></th>
<table id="decisionTable" class= "CSSTableGenerator" width ="100%" border =1 id="table1">
<tr color="23145">
<th><b>CheckList</b></th>
<th><b>Health</b></th>
<th><b>Comments</b></th>
</tr>
<tr>
<td id="checklist" data-id="checklist">
Trend of Failed Login attempts
</td>
<td id="health">Green</td>
<td><textarea type="text" name='Comments' id="comments"></textarea></td>
</tr>
<tr>
<td id="checklist" data-id="checklist">
Trend of mobile Login attempts
</td>
<td id="health">Select</td>
<td><textarea type="text" name='Comments' id="comments"></textarea></td>
</tr>
<tr>
<td id="checklist" data-id="checklist">
Trend of Success Login attempts
</td>
<td id="health">Red</td>
<td><textarea type="text" name='Comments' id="comments"></textarea></td>
</tr>
<tr>
<td id="checklist" data-id="checklist">
Trend of unknown Login attempts
</td>
<td id="health">Amber</td>
<td><textarea type="text" name='Comments' id="comments"></textarea></td>
</tr>
<tr>
<td id="checklist" data-id="checklist">
Trend of mixed Login attempts
</td>
<td id="health">Select</td>
<td><textarea type="text" name='Comments' id="comments"></textarea></td>
</tr>
</table>
我知道有一个内置的jquery函数jquery.sort()
来完成这项工作,但是我不知道如何仅根据Health
列中的Select
值进行排序
任何帮助都是值得感激的
非常感谢 这就是你想要的吗?基本上,您只需要找到任何包含单词“select”的内容,然后将其附加到标题后面(我建议您下次使用
)
我编辑了id为“header”的标题行
$(“#决策表tr”)。每个(
函数(){
var row=$(this.find('td[id=“health”]:contains(“Select”));
if(行长)
{
$(“#标题”)。在($(本))之后;
}
});代码>
清单
健康
评论
失败登录尝试的趋势
绿色
移动登录尝试的趋势
挑选
成功登录尝试的趋势
红色
未知登录尝试的趋势
琥珀色
混合登录尝试的趋势
挑选
首先,不要使用重叠的ID,如果您需要重复的标识符,请使用类或数据,就像您已经使用的那样。还有,你所说的排序是什么意思,按字母顺序排序?隐藏非健康的东西?谢谢你的回复。通过sort
,我的意思是将Health
列中具有Select
值的表行移动到表的开头。希望,我现在清楚了。所以把所有健康
行移到顶部?不。我希望整个表行在该表中上移。这是预期html的屏幕截图。如果你什么都不懂就告诉我,我想我不需要太多解释,因为它很短
$(document).ready(function() {
$('#decisionTable tr').each(
function() {
console.log($(this).find('td[id="health"]')
.text());
});
});