我刚刚为电子商务商店制作了一个漂亮的亚马逊风格的“评论摘要”柜台。它使用部分“星星”图像文件名来计算带有 .length() 的评论,这很好用,但问题是它也在计算来自页面其他部分的这些图像(例如相关产品,添加到购物车部分)。这些区域使用与评论部分相同的“星星”图像,因此计数不计。
例如在本页 - http://www.siestahammocks.com.au/single-size-brazilian-hammock/只有两条 5 星评论和一条 4 星评论,但由于相关产品部分使用相同的星图(更靠下)并且星号在靠近页面顶部。
如果我能找到一种方法来根据星星图像所在的 div 来计算星星图像,而不是计算它们在整个文档中的数量,我就可以纠正这个问题。
我认为我需要将 var count1/2/3/4/5 中的变量设置为有点不同。
任何帮助都会很棒。谢谢!
这是我当前的脚本:
<script>
$(document).ready(function(){
var count1 = $('img[src$="IcoRating1.png"]').length;
var count2 = $('img[src$="IcoRating2.png"]').length;
var count3 = $('img[src$="IcoRating3.png"]').length;
var count4 = $('img[src$="IcoRating4.png"]').length;
var count5 = $('img[src$="IcoRating5.png"]').length;
$('.revcount1').append(count1);
$('.revcount2').append(count2);
$('.revcount3').append(count3);
$('.revcount4').append(count4);
$('.revcount5').append(count5);
var reviewtotal = count1 + count2 + count3 + count4 + count5;
var counter1 = count1 / reviewtotal *100;
var counter2 = count2 / reviewtotal *100;
var counter3 = count3 / reviewtotal *100;
var counter4 = count4 / reviewtotal *100;
var counter5 = count5 / reviewtotal *100;
$(".counter-bar5").css("width",counter5,"px");
$(".counter-bar4").css("width",counter4,"px");
$(".counter-bar3").css("width",counter3,"px");
$(".counter-bar2").css("width",counter2,"px");
$(".counter-bar1").css("width",counter1,"px");
});
</script>
最佳答案
像这样的东西会在 ID 为 myDiv
的 div 中返回该图像的图像计数。
var count1 = $('#myDiv img[src$="IcoRating1.png"]').length;
关于javascript - 我可以用 .length() 而不是整个文档来计算一个 div 中的元素吗? -jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23145241/