Простая на первый взгляд задачка, никак не поддается решению. Необходимо округлить целое число, например, имея цифру в 12445, округлить до 12400. А цифру 12563, превратить в 12600.
При обычном раскладе, имея только цифру, можно использовать:
(Math.round(12563 / 100) * 100)
Но код на странице выглядит следующим образом:
<div class="shop-item-price">
<span class="id-good-455-price">15146 грн.</span>
</div>
<div class="shop-item-price">
<span class="id-good-325-price">12563 грн.</span>
<span class="oldprice">
<span class="id-good-325-old-price">13213 грн.</span>
</span>
</div>
<div class="price">
<span class="id-good-455-price">15146 грн.</span>
</div>
То есть внутри тега находится еще и текст. Можно ли без изменения HTML-кода пройтись по всем тегам и округлить цифры в большую или меньшую сторону? Премного благодарен за примеры или описание процесса.
Используйте функцию parseInt()
, чтобы округлить число:
var price = "15146 грн.";
price = (Math.round(parseInt(price, 10) / 100) * 100);
console.log(price);
Чтобы пройтись по всем тегам, используйте селектор $(select)
. Например, если у вас имеется несколько <span>
с классом price
:
$('span.price').each(function() {
price = $(this).text();
price = (Math.round(parseInt(price, 10) / 100) * 100);
...
});
Живой пример на codepen.io
Мое решение без jQuery
:
let id_good_455 = document.querySelector('.id-good-455-price').innerHTML; // получаем содержимое тега
id_good_455 = (Math.round(parseInt(id_good_455, 10) / 100) * 100);
console.log(id_good_455);
Посещаемость сайта в сутки 3000 человекНа сайте есть моменты времени, когда с каждого пользователя(а их около 200 человек онлайном) поступает...