到目前为止的代码
function sort(a, b) {
var at = jQuery(a).text();
var bt = jQuery(b).text();
console.log(at.indexOf(match));
if (at.indexOf(match) >= 0 && bt.indexOf(match) < 0) {
return -1;
}
return (bt < at) ? 1 : -1;
}
var match = "Мебельное производство";
jQuery(".orderings tr").sort(sort).appendTo('.orderings');
可以返回“Мебельное производство”上的所有匹配项, 我想在下一个路返回匹配
var match = "Мебельное производство, Строительство";
并返回“Мебельное производство”的所有匹配项和“Строительство”的匹配项,然后按字母顺序返回其余项。
最佳答案
这是一个考虑匹配字符串顺序的版本。
function sort(a, b) {
var matches = match.split(/,\s*/);
var at = jQuery(a).text();
var bt = jQuery(b).text();
for (var i = 0; i < matches.length; ++i) {
var m = matches[i];
if (at.indexOf(m) >= 0 && bt.indexOf(m) < 0) {
return -1;
} else if (bt.indexOf(m) >= 0 && at.indexOf(m) < 0) {
return 1;
}
}
return (bt < at) ? 1 : -1;
}
var match = "Мебельное производство, Строительство";
jQuery(".orderings tr").sort(sort).appendTo('.orderings');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table class="orderings">
<tr>
<td>Мебельное производство</td>
</tr>
<tr>
<td>Neither</td>
</tr>
<tr>
<td>Строительство</td>
</tr>
<tr>
<td>Neither</td>
</tr>
<tr>
<td>Another Мебельное производство</td>
</tr>
</table>
关于javascript - 查找匹配项并按匹配项排序,然后按字母顺序排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30196221/