javascript使用innerHTML按字母顺序对DOM元素排序

javascript使用innerHTML按字母顺序对DOM元素排序,javascript,jquery,sorting,innerhtml,Javascript,Jquery,Sorting,Innerhtml,我正在使用innerHTML从JavaScript数组加载html。如果单击锚定标记,我想按字母顺序对其排序。我该怎么做?我的代码相当复杂,但对于这个问题,这是重要的部分: <script> var locations = [['image.png', 'title', 'category', 'city', 'phone', 'address, zip', 'lat', 'long', '', 'img.png', 'link', '0']]; var load_list_htm

我正在使用innerHTML从JavaScript数组加载html。如果单击锚定标记,我想按字母顺序对其排序。我该怎么做?我的代码相当复杂,但对于这个问题,这是重要的部分:

<script>
var locations = [['image.png', 'title', 'category', 'city', 'phone', 'address,
zip', 'lat', 'long', '', 'img.png', 'link', '0']];

var load_list_html = "";    

  load_list_html += '<div data-position="'+
    locations[i][6]+
    ', '+
    locations[i][7]+
    '" id="maplist" class="map-list-box" data-cat="'+
    locations[i][2]+
    '"><img class="list-view-img pull-left" src="'+
   locations[i][9]+
   '"><h3><a class="list-view-title" href="'+
   locations[i][10]+
   '">'+
  locations[i][1]+
  '</a></h3><div id="list-rate" class="rateit" data-rateit-value="'+
  locations[i][11]+
  '" data-rateit-ispreset="true" data-rateit-readonly="true">'+
  '</div><p class="list-text">'+
   locations[i][8]+
  '</p><span class="list-address">'+
  locations[i][5]+
  ', <strong>'+
  locations[i][3]+
  '</strong>'+
  '</span><br><span class="list-phone">'+
  locations[i][4]+
  '</span></div><!--map-list-box-->';

document.getElementById("load_list").innerHTML = load_list_html;
</script>

<body>
<div id="load_list"></div> 
Order by<a id="alphBnt">Alphabetically ordered</a>
</body>

var locations=[['image.png'、'标题'、'类别'、'城市'、'电话'、'地址,
zip、lat、long、img.png、link、0']];
var load_list_html=“”;
加载\u列表\u html+=“”+
“

”+ 地点[一][8]+ “

”+ 地点[一][5]+ “,”+ 地点[一][3]+ “”+ “
”+ 地点[一][4]+ ''; document.getElementById(“加载列表”).innerHTML=load\u list\u html; 按字母顺序排列

如何按标题按字母顺序排列元素(#load list h3 a),我尝试了排序功能,但没有成功。实现这一目标的最佳方式是什么

Javascript数组有一个内置的排序函数-。对于数组的数组,它们将按每个子数组的第一个元素排序。要按子数组中的另一个元素排序,可以提供一个比较函数-

$(文档).ready(函数(){
变量列表=[
[1,“b”],
[2,“c”],
[3,“a”]
];
$(“#原始结果”).text(list.join(',');
列表.排序(函数(a,b){
如果(a[1]>b[1])
返回1;
if(a[1]


您可以使用
调用一些javascript函数
sortalphabeticaly()
(您需要编写)。您在地址后缺少一个引号…您可以使用插件为您排序值,或者@Tro说您可以随时编写函数
sortalphabeticaly()
嘿,如果您正在寻找对HTML(而不是生成它的数组)排序的方法,请查看我的更新答案。感谢@John C的回答,实际上对数组排序对我来说也是更好的解决方案。您的第一个解决方案很有效,谢谢!