Javascript 由于childNode值,对div进行排序

Javascript 由于childNode值,对div进行排序,javascript,jquery,html,sorting,Javascript,Jquery,Html,Sorting,下面是我的HTML代码的简短示例: <div id="feedDiv"> <div class="articleDiv"> <div id="pictureDiv"> </div> <div id="ConentDiv"> <h1> Headline </h1> <p> Description </p>

下面是我的HTML代码的简短示例:

<div id="feedDiv">
  <div class="articleDiv">
     <div id="pictureDiv">
     </div>
     <div id="ConentDiv">
           <h1> Headline </h1>
           <p> Description </p>
           <p class="toolbar">  
                <a class="thumbsUpNumber">86</a>
                <a class="thumbsDownNumber">79</a>
                <a class="commentNumber"> 32 </a> 
           </p>
     </div>
     <div id="UrlDiv">
     </div>
  </div>
</div> 
但什么都不管用

您可以尝试以下方法:

var numericallyOrderedDivs = $(".articlesDiv").sort(function(a, b) {
  var contentA = parseInt($(a).find(".thumbsUpNumber").text());
  var contentB = parseInt($(b).find(".thumbsUpNumber").text());
  return (contentA > contentB) ? -1 : (contentA < contentB) ? 1 : 0;
});

numericallyOrderedDivs.each(function(i, item) {
  $("#feedDiv").append(item);
});

大字标题
描述

86 79 32

大字标题 描述

90 9 40


看起来您有多个div
articleDiv
,这就是问题所在,如果它们都具有相同的ID,则ID应始终为Uniquer替换class=“articleDiv”的ID=“articleDiv”,您可以有多个。按如下方式排序:$(“.articleDiv”).Sort(函数(a,b){……即使我把ID改为类,也不会发生任何事情。“Lizz为你工作了吗?谢谢你!上面的代码只是显示我想做的事。真正的代码是不同的。我已经意识到我的打字厄洛……@ Lizz,如果问题解决了,考虑把答案标记为接受,让别人知道已经解决了。”
var numericallyOrderedDivs = $(".articlesDiv").sort(function(a, b) {
  var contentA = parseInt($(a).find(".thumbsUpNumber").text());
  var contentB = parseInt($(b).find(".thumbsUpNumber").text());
  return (contentA > contentB) ? -1 : (contentA < contentB) ? 1 : 0;
});

numericallyOrderedDivs.each(function(i, item) {
  $("#feedDiv").append(item);
});