我在 JavaScript 中排序有一个非常奇怪的问题。我徘徊在这个奇妙而可怕的分类世界中,想知道你们是否可以帮助我:
基本上,我试图模仿 tabindex HTML 属性,它基本上改变了页面中“tabbing”的顺序:具有 tabindex 的元素是第一个,最小的正数在前,向下,没有 tabindex 的元素是最后一个以不变的顺序。所以,它是这样的:
tabindex=1,tabindex=2,tabindex=5,tabindex=5000,没有tabindex,没有tabindex,没有tabindex,等等……
我正试图让这个工作。在 Chrome 中它不起作用,因为(我认为,至少)它使用的排序算法与所有其他主要浏览器相比。
Chrome 中返回的内容是零星的和奇怪的,其中一个元素完全乱序,而其他元素曾经位于顶部而不是底部。
在所有其他浏览器中,它都可以工作(除了 tabindex'd 元素的顺序相反,但这真的很容易修复,我打算在完成这项工作后做)。这是使用以下代码:
selectElements.sort(function(a,b){
return b.getAttribute('tabindex')-a.getAttribute('tabindex');
});
我相信问题可能源于没有 getAttribute 的元素返回 null 的事实,但我知道什么......:P
让我知道你们会做些什么来完成这项工作......谢谢!