我在Wordpress网页上有一张桌子。我想在此表中找到最高,最低和平均价格。问题是价格在带有类的<span>
中显示。 (请参阅以下链接上的示例)
<tr>
<td>Product 1</td>
<td>01-12-2018</td>
<td class="wpt_price" id="price_value_id_1306" data-price_html="
<del>
<span class="woocommerce-Price-amount amount">
<span class="woocommerce-Price-currencySymbol">€</span>10.00</span>
</del>
<ins>
<span class="woocommerce-Price-amount amount">
<span class="woocommerce-Price-currencySymbol">€</span>7.00</span>
</ins>
">
<span class="wpt_product_price">
<del>
<span class="woocommerce-Price-amount amount">
<span class="woocommerce-Price-currencySymbol">€</span>10.00</span>
</del>
<ins>
<span class="woocommerce-Price-amount amount">
<span class="woocommerce-Price-currencySymbol">€</span>7.00</span>
</ins></span>
</td>
</tr>
<tr>
有没有办法用Javascript查找这些数字,或者问起来太复杂了?
我希望收到你的来信。
答案 0 :(得分:0)
首先,将所有价格放入一组浮动货币。这样您可以更轻松地操作数据。
var pricesarray = document.getElementsByTagName("ins");
var prices = [];
for(index = 0;index<pricesarray.length;++index){
prices.push(parseFloat(pricesarray[index].innerText.replace("€","")));
}
然后获得最高和最低数字
var highest = Math.max.apply(Math,prices );
var lowest = Math.min.apply(Math,prices );
对于平均值,我们需要归约并编写一个函数以将数组归约为一个和,然后将其除以数组的长度
var sum = prices.reduce(add, 0);
function add(a, b) {
return a + b;
}
var average = sum/prices.length;
我们在那里。
> lowest
4
> highest
11
> average
7.333333333333333