Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery-按升序排序div_Javascript_Jquery_Html - Fatal编程技术网

Javascript jQuery-按升序排序div

Javascript jQuery-按升序排序div,javascript,jquery,html,Javascript,Jquery,Html,所以我有这个密码 var$divs=$(“div.product”); $(“#价格升序”)。在('click',function()上{ var ascendingOrderedDivs=$divs.sort(函数(a,b){ 返回$(a).find(“div.price”).text()>$(b).find(“div.price”).text(); }); $(“#container”).html(AscendingOrderdDivs); }); 涨价 产品一 14.85$ 产品二 2

所以我有这个密码

var$divs=$(“div.product”);
$(“#价格升序”)。在('click',function()上{
var ascendingOrderedDivs=$divs.sort(函数(a,b){
返回$(a).find(“div.price”).text()>$(b).find(“div.price”).text();
});
$(“#container”).html(AscendingOrderdDivs);
});

涨价
产品一
14.85$
产品二
27.59$
产品三
2.64$

您需要将
更改为
-

return $(a).find("div.price").text() - $(b).find("div.price").text();
您还需要从价格中删除$以比较值。您可以使用
str.slice(0,-1)


这是一个工作模式,您需要将
更改为
-

return $(a).find("div.price").text() - $(b).find("div.price").text();
您还需要从价格中删除$以比较值。您可以使用
str.slice(0,-1)


这是一个有效的

我建议使用数值而不是字符串

var divs=$(“div.product”);
$(“#价格升序”)。在('click',function()上{
var ascendingOrderedDivs=divs.sort(函数(a,b){
var aVal=parseFloat($(a).find(“div.price”).text().replace(“$”,”);
var bVal=parseFloat($(b).find(“div.price”).text().replace(“$”,”);
返回aVal-bVal;
});
$(“#container”).html(AscendingOrderdDivs);
});

涨价
产品一
14.85$
产品二
27.59$
产品三
2.64$

我建议使用数值而不是字符串

var divs=$(“div.product”);
$(“#价格升序”)。在('click',function()上{
var ascendingOrderedDivs=divs.sort(函数(a,b){
var aVal=parseFloat($(a).find(“div.price”).text().replace(“$”,”);
var bVal=parseFloat($(b).find(“div.price”).text().replace(“$”,”);
返回aVal-bVal;
});
$(“#container”).html(AscendingOrderdDivs);
});

涨价
产品一
14.85$
产品二
27.59$
产品三
2.64$

您可以用空字符串替换价格末尾的
$
,并使用parseFloat比较值。请注意,页面上的id应该是唯一的。对于您使用的所有跨度
id=“name

var$divs=$(“div.product”);
$(“#价格升序”)。在('click',function()上{
var ascendingOrderedDivs=$divs.sort(函数(a,b){
返回parseFloat($(a).find(“div.price”).text().replace(/\$$/,'')-parseFloat($(b).find(“div.price”).text().replace(/\$/,'');
});
$(“#container”).html(AscendingOrderdDivs);
});

涨价
产品一
14.85$
产品二
27.59$
产品三
2.64$

您可以将价格末尾的
$
替换为空字符串,并使用parseFloat比较值。请注意,页面上的id应该是唯一的。对于您使用的所有跨度
id=“name

var$divs=$(“div.product”);
$(“#价格升序”)。在('click',function()上{
var ascendingOrderedDivs=$divs.sort(函数(a,b){
返回parseFloat($(a).find(“div.price”).text().replace(/\$$/,'')-parseFloat($(b).find(“div.price”).text().replace(/\$/,'');
});
$(“#container”).html(AscendingOrderdDivs);
});

涨价
产品一
14.85$
产品二
27.59$
产品三
2.64$

谢谢您的帮助,降序如何?只需颠倒逻辑即可。你做的不是a-b,而是b-a。您可以找到许多有趣的方法来使用
sort()
在JS中。Mirakurun所说的可能是最好的解决方案,但如果我想要某种形式的排序开关,我喜欢做的是添加一个
*-1
,如果它是降序的,则基本相同,但更容易有条件地更改。感谢您的帮助,降序如何?只需颠倒逻辑即可。你做的不是a-b,而是b-a。你可以找到很多有趣的方法在JS中使用
sort()
。Mirakurun说的可能是最好的解决方案,但是如果我想要某种形式的排序开关,我喜欢做的是添加一个
*-1
,如果它是降序的,它基本上做的相同,但更容易有条件地更改。