Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.08.2009, 00:32
Новичок на форуме
Отправить личное сообщение для stepan86 Посмотреть профиль Найти все сообщения от stepan86
 
Регистрация: 05.08.2009
Сообщений: 5

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

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

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

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

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

Таким образом нужно находить число, умножать его на 35. Затем находить слово USD и заменять его на руб.
Ответить с цитированием
  #2 (permalink)  
Старый 05.08.2009, 00:44
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

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) + ' руб.';
        });
    }
}
Ответить с цитированием
  #3 (permalink)  
Старый 05.08.2009, 01:29
Новичок на форуме
Отправить личное сообщение для stepan86 Посмотреть профиль Найти все сообщения от stepan86
 
Регистрация: 05.08.2009
Сообщений: 5

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

вставил в 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>
Ответить с цитированием
  #4 (permalink)  
Старый 05.08.2009, 08:44
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Надо не в head, а после всех таких чисел.
Ответить с цитированием
  #5 (permalink)  
Старый 05.08.2009, 09:33
Новичок на форуме
Отправить личное сообщение для stepan86 Посмотреть профиль Найти все сообщения от stepan86
 
Регистрация: 05.08.2009
Сообщений: 5

К сожалению доступ есть только к Head
Я только туда могу скрипт добавить.
Ответить с цитированием
  #6 (permalink)  
Старый 05.08.2009, 09:44
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

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) + ' руб.';
            });
        }
    }
};
Ответить с цитированием
  #7 (permalink)  
Старый 05.08.2009, 10:07
Новичок на форуме
Отправить личное сообщение для stepan86 Посмотреть профиль Найти все сообщения от stepan86
 
Регистрация: 05.08.2009
Сообщений: 5

Спасибо большое. Всё работает.
Скажите как туда добавить ещё один class
Я обнаружил что у меня так же присутствует class
<p class="it-price">11.5 USD </p>
Как добавить чтоб он и его сразу заменял?
Ответить с цитированием
  #8 (permalink)  
Старый 05.08.2009, 10:23
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

if (els[i].className == 'i-price' || els[i].className == 'it-price') {
Ответить с цитированием
  #9 (permalink)  
Старый 05.08.2009, 10:44
Новичок на форуме
Отправить личное сообщение для stepan86 Посмотреть профиль Найти все сообщения от stepan86
 
Регистрация: 05.08.2009
Сообщений: 5

большое спасибо, за оперативную помощь
Ответить с цитированием
  #10 (permalink)  
Старый 05.08.2009, 12:23
sasha p.
 
Сообщений: n/a

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



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите найти плагин. kalisha jQuery 4 22.06.2009 17:15
как найти нужный объект? `p r o x y jQuery 2 05.05.2009 01:12
число во время boozer Элементы интерфейса 4 25.04.2009 01:58
Как найти путь к файлу для модификации? JuliaMilan Firefox/Mozilla 0 31.03.2009 14:06
Как прибавлять число к числу? Forgott Общие вопросы Javascript 9 06.05.2008 08:47