Javascript 由于childNode值,对div进行排序
下面是我的HTML代码的简短示例: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>
<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);
});
大字标题
描述
大字标题
描述
看起来您有多个divarticleDiv
,这就是问题所在,如果它们都具有相同的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);
});