Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Найти и умножить число (https://javascript.ru/forum/misc/4580-najjti-i-umnozhit-chislo.html)

stepan86 05.08.2009 00:32

Найти и умножить число
 
Здравствуйте.
Подскажите пожалуйста как решить проблему.
Проблему заключается в следующем:
На сайте есть цены, но они указаны в USD. Необходимо перевести их в рубли, но сделать это можно только при помощи Java script (по другому не дают).
Цена на сайте указывается так:

<p class="i-price">3.60 USD</p>

Необходимо сделать так, чтоб в итоге получилось

<p class="i-price">126 руб</p>

Курс стабильный и равен 1 USD = 35 руб.

Таким образом нужно находить число, умножать его на 35. Затем находить слово USD и заменять его на руб.

Kolyaj 05.08.2009 00:44

var els = document.getElementsByTagName('p');
for (var i = 0; i < els.length; i++) {
    if (els[i].className == 'i-price') {
        els[i].innerHTML = els[i].innerHTML.replace(/([\d.]+) USD/, function(all, price) {
            return (parseFloat(price) * 35) + ' руб.';
        });
    }
}

stepan86 05.08.2009 01:29

к сожалению не работает (

вставил в head
<script type="text/javascript">
var els = document.getElementsByTagName('p');
for (var i = 0; i < els.length; i++) {
    if (els[i].className == 'i-price') {
        els[i].innerHTML = els[i].innerHTML.replace(/([\d.]+) USD/, function(all, price) {
            return (parseFloat(price) * 35) + ' руб.';
        });
    }
}
</script>

Kolyaj 05.08.2009 08:44

Надо не в head, а после всех таких чисел.

stepan86 05.08.2009 09:33

К сожалению доступ есть только к Head
Я только туда могу скрипт добавить.

Kolyaj 05.08.2009 09:44

window.onload = function() {
    var els = document.getElementsByTagName('p');
    for (var i = 0; i < els.length; i++) {
        if (els[i].className == 'i-price') {
            els[i].innerHTML = els[i].innerHTML.replace(/([\d.]+) USD/, function(all, price) {
                return (parseFloat(price) * 35) + ' руб.';
            });
        }
    }
};

stepan86 05.08.2009 10:07

Спасибо большое. Всё работает.
Скажите как туда добавить ещё один class
Я обнаружил что у меня так же присутствует class
<p class="it-price">11.5 USD </p>
Как добавить чтоб он и его сразу заменял?

Kolyaj 05.08.2009 10:23

if (els[i].className == 'i-price' || els[i].className == 'it-price') {

stepan86 05.08.2009 10:44

большое спасибо, за оперативную помощь

sasha p. 05.08.2009 12:23

window.onload
 
window.onload - по- моему google chrome некорректоно с ним работает?


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