我使用jquery3.6.1的javascript例程来在点击按钮#tri时对div进行如下排序:
$("#tri").click(function() {
var $divs = $("#resultats div.notice");
var alphabeticallyOrderedDivs = $divs.sort(function (a, b) {
return $(a).find("div.bibloc:first").text() > $(b).find("div.bibloc:first").text();
});
$("#resultats").html(alphabeticallyOrderedDivs);
});
div的结构如下(在#resultatdiv内):
<div class='notice' class='2022'>
<div class='internotice'></div>
<div class='notice_header'>
<p class='title'><img src='img1.png' /></p>
<h4>Title1</h4>
<p>details</br>info</p>
</div>
<div class='bibloc'>
<p class='enrayon'> ref1<span>text</span></p>
</div>
</div>
<div class='notice' class='2022'>
<div class='internotice'></div>
<div class='notice_header'>
<p class='title'><img src='img1.png' /></p>
<h4>Title2</h4>
<p>details</br>info</p>
</div>
<div class='bibloc'>
<p class='enrayon'> ref2<span>text</span></p>
</div>
</div>
它在火狐中工作得很完美,所有的div都用“ref1,ref2 ...”排序
没有其他浏览器我测试想做排序.没有错误消息在控制台,只是不工作
任何想法是什么可能是这个问题的根源?谢谢
尝试了所有的方法,改变或简化html,移动javascript函数,但没有任何效果
2条答案
按热度按时间bvuwiixz1#
对于sort,请指定,并返回1或-1:
x7rlezfr2#
谢谢彼得·托尼!
该解决方案有效地: