Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Сложить сумму элементов (https://javascript.ru/forum/events/71457-slozhit-summu-ehlementov.html)

Kulya 20.11.2017 15:47

Сложить сумму элементов
 
Всем привет, столкнулся с такой проблемой.
Допустим есть блоки с такими занчениями

<span class="price">10093 р.</span>
    <span class="price">1393 р.</span>
    <span class="price">104493 р.</span>
    <span class="price">10193 р.</span>
    <span class="price">17893 р.</span>


Мне нужно что бы все цифры цен сложились и вывелись допустим в блоке

<span class = "sum"></span>

Nexus 20.11.2017 15:57

<span class="price">10093 р.</span>
    <span class="price">1393 р.</span>
    <span class="price">104493 р.</span>
    <span class="price">10193 р.</span>
    <span class="price">17893 р.</span>
<div class = "sum"></div>

<script>
document.querySelector('.sum').innerHTML=[].reduce.call(document.querySelectorAll('.price'),function(t,c){
    return +c.innerHTML.replace(/\D+/,'')+t;
},0);
</script>

Kulya 20.11.2017 16:34

Спасибо большое!

Kulya 21.11.2017 09:32

Прикрутил к сайту выбило NaN, подскажите что не так?
http://keramag.su/index.php?route=pr...product_id=185
Вот сайт, заранее благодарен

Nexus 21.11.2017 09:39

Kulya, флаг "global" в pattern добавьте.

Kulya 21.11.2017 15:14

Спасибо, все работает. Но возник еще вопрос, как отобрать цены в определенном блоке, а то суммируются все. Такой вариант почему то не прокатывает:
document.querySelector('.itog_price').innerHTML=[].reduce.call(document.querySelectorAll('.transition_new_kull > .total_sum_price'),function(t,c){
        return +c.innerHTML.replace(/\D+/g,'')+t;
	},0);


Тапками пожалуйста не кидайте, я еще нуб в JS

рони 21.11.2017 16:27

Kulya,
цикл по блокам


Часовой пояс GMT +3, время: 09:54.