@XenK

Сложить числа внутри div?

Есть такой html:
<div class="div">
	<h2 class="head">Загловок (<span>6000</span>)</h2>
	<div class="row">
		<div id="1001">
			<div class="sum">
				<p class="sum1">1500</p>
				<p class="sum2">500</p>
			</div>
		</div>
	</div>
	<div class="row">
		<div id="1002">
			<div class="sum">
				<p class="sum1">2500</p>
				<p class="sum2">1500</p>
			</div>				
		</div>
	</div>
</div>

<div class="div">
	<h2 class="head">Загловок #2(<span>5000</span>)</h2>
	<div class="row">
		<div id="1013">
			<div class="sum">
				<p class="sum1">500</p>
				<p class="sum2">500</p>
			</div>
		</div>
	</div>
	<div class="row">
		<div id="1006">
			<div class="sum">
				<p class="sum1">3000</p>
				<p class="sum2">1000</p>
			</div>				
		</div>
	</div>
</div>

Нужно получить сумму двух рядом находящихся div'ов (например id=1001, id=1002), и соответственно полученную сумму записать в span. Как это сделать на JQuery правильно?
  • Вопрос задан
  • 613 просмотров
Решения вопроса 1
twiSk
@twiSk
Full-stack web developer
Рабочий код:
$('.div').each(function () {
    var total = 0;

    $(this).find('.sum p').each(function () {
        total += parseInt($(this).text());
    });

    $(this).find('span').html(total);
});
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
humiliation
@humiliation
Чем больше знаю - тем больше дурак
var a = $('#1013').find('sum1').text();
var b = $('#1013').find('sum2').text();
$('#span').text(a+b);

для просчета всего этого на странице нужно будет делать функцию или обходить циклом.
код дал примерный, но логика должна быть ясна - сначала получаем, затем считаем. В контексте чего - это уже вы там у себя. Можете цеплять по closest, ответ давать в parent .div > .head, можете явно прописать куда и что. В общем, вариантов масса.

Дальше сами справитесь?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
28 апр. 2024, в 20:14
700 руб./за проект
28 апр. 2024, в 20:09
9000 руб./за проект
28 апр. 2024, в 19:54
2000 руб./за проект