Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery没有';我不能对我的选择进行排序_Jquery - Fatal编程技术网

jQuery没有';我不能对我的选择进行排序

jQuery没有';我不能对我的选择进行排序,jquery,Jquery,我有一个选择HTML的选项。JS代码: var inviteds = $('#clientMenuEvents_edit select[name="everybody"]'); inviteds.find('option').sort (function(a,b) { return a.innerHTML.toLowerCase() > b.innerHTML.toLowerCase() ? 1 : -1; }); 我调试了这个函数,a.innerHTML.toLowerCase

我有一个选择HTML的选项。JS代码:

var inviteds = $('#clientMenuEvents_edit select[name="everybody"]');
inviteds.find('option').sort (function(a,b) {
    return a.innerHTML.toLowerCase() > b.innerHTML.toLowerCase() ? 1 : -1;
});

我调试了这个函数,
a.innerHTML.toLowerCase()
给出了字符串,但它无法对列表排序,什么也没发生。每个人都是这样做的,但这就像我什么都没做一样。

您正在对元素进行排序,但排序只影响元素集,而不影响DOM。如果使用
.append()
将集合放回select元素,它们将按排序顺序添加

inviteds.find('option').sort (function(a,b) {
    return a.innerHTML.toLowerCase() > b.innerHTML.toLowerCase() ? 1 : -1;
}).appendTo( inviteds );

演示:

您正在对元素进行排序,但排序只影响元素集,而不影响DOM。如果使用
.append()
将集合放回select元素,它们将按排序顺序添加

inviteds.find('option').sort (function(a,b) {
    return a.innerHTML.toLowerCase() > b.innerHTML.toLowerCase() ? 1 : -1;
}).appendTo( inviteds );

演示:

要对结果集排序,还是按dom中元素的顺序排序?请选择选项。我猜你的意思是“dom中的元素”,你想对结果集排序还是按dom中元素的顺序排序?选项。我猜你指的是“dom中的元素”