X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

> взять информацию из div с помощью JS
Sasha_Live
Sasha_Live
Topic Starter сообщение 4.3.2013, 19:28; Ответить: Sasha_Live
Сообщение #1


Необходимо реализовать следующее: в одном месте страницы CMS выводит цену в рублях, в другом необходимо ее вывести в долларах. Необходимо вытащить с помощью JS число из одного блока, затем умноженное на курс вывести в другом. JS не знаю, попытки разобраться самостоятельно ни к чему не привели.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
 
Открыть тему
Ответов (1 - 7)
devuser
devuser
сообщение 4.3.2013, 19:31; Ответить: devuser
Сообщение #2


Html
<div id="ru_price">1000</div> рублей
<div id="us_price">31</div> долларов


JavaScript
var ru_price = document.getElementById('ru_price').innerHTML;
var us_price = ru_price / 32;

document.getElementById('us_price').innerHTML = us_price;



Вот так правильно
http://d1.news-more.ru/sasha_live/index.html демонстрация

Сообщение отредактировал devuser - 4.3.2013, 19:38


--------------------


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Serious_Andy
Serious_Andy
сообщение 4.3.2013, 19:32; Ответить: Serious_Andy
Сообщение #3


дайте url либо код страницы
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Sasha_Live
Sasha_Live
Topic Starter сообщение 4.3.2013, 20:38; Ответить: Sasha_Live
Сообщение #4


devuser, забыл уточнить, на сайте имеем вот такой код:
<div class="eshop-item-detailed__custom-field">
<div class="eshop-item-detailed__custom-field-name">цена :</div>
<div class="eshop-item-detailed__custom-field-value">466045 </div>
</div>


div'ов с таким классом несколько. Проблема из-за этого и возникает. как правильно вытащить отсюда число?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
devuser
devuser
сообщение 4.3.2013, 21:13; Ответить: devuser
Сообщение #5


Sasha_Live, добавьте к нужному id="ru_price" и по этому ID получайте к нему доступ.
id не должны пересекаться, должны быть уникальными в рамках HTML-документа

То есть у вас должно получиться что-то типа

<div class="eshop-item-detailed__custom-field">
<div class="eshop-item-detailed__custom-field-name">цена :</div>
<div class="eshop-item-detailed__custom-field-value" id="ru_price">466045</div>
</div>


Тогда через JS вы сможете вытащить цену таким кодом
var ru_price = document.getElementById('ru_price').innerHTML;


Сообщение отредактировал devuser - 4.3.2013, 21:14


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Sasha_Live
Sasha_Live
Topic Starter сообщение 4.3.2013, 21:21; Ответить: Sasha_Live
Сообщение #6


devuser, нет возможности прописать id. пересекаются не id, а классы, а они могут. Пробовал сделать через document.getElementsByClass вроде работает, но как правильно вытащить число понять не могу.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
devuser
devuser
сообщение 4.3.2013, 21:29; Ответить: devuser
Сообщение #7


Тогда нужно смотреть урл
Возможно на jQuery (если библиотека подключена) сделать проще


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
tszyan
tszyan
сообщение 5.3.2013, 3:42; Ответить: tszyan
Сообщение #8


Sasha_Live,
Хорошо бы увидеть весь участок HTML, в т.ч. ту часть, где необходимо установить цену в долларах. А также понимать - нужно ли Вам проставить такую цену для всех блоков с одинаковыми классами или для одного конкретного. Тогда ответить было бы очень быстро, приведя несколько строк кода.
(Sasha_Live @ 4.3.2013, 21:21) *
но как правильно вытащить число понять не могу

В чем сложность? Читается как строчка? parseInt/parseFloat(запятую не парсит)? Или вручну распарсить (если есть запятые или пробелы между цифрами) - регуляркой меняем такие символы на то, что нам надо и используем те же самые parseInt/parseFloat.
(Sasha_Live @ 4.3.2013, 21:21) *
document.getElementsByClass

Не совсем кроссбраузерное решение получится, тогда надо использовать это - http://javascript.ru/unsorted/top-10-funct...elementsbyclass
Но лучше, как советует devuser - сразу взять jQuery - сэкономите кучу времени и нервов.

Далее по самому вопросу, если преобразовать надо все цены, то алгоритм простой:
1. Ищем все элементы с классом рублевых цен
2. Для каждого найденного элемента:
а) читаем цену в рублях
б) ищем ближайший общий с элементом долларовых цен родитель.
в) по имени класса элемента с долларовыми ценами(или другому признаку) ищем элемент внутри родителя
г) высчитываем долларовую цену и устанавливаем значение найденному элементу.

Я бы конечно делал на php, но у Вас видимо ситуация не позволяет.

Приведу пример реализации алгоритма на jQuery:
<div class="product">
  <div class="ru_price">132</div>
  <div class="en_price"></div>
</div>


var kurs = 32;

$('.ru_price').each(function(){
  var ru_price = parseInt($(this).text());
  var parent = $(this).closest('.product');
  $('.en_price', product).text(ru_price / kurs);
});


Хотя правильнее(логичнее), наверное, было бы плясать от родителя - нашли всех родителей (корневые элементы продуктов), например по классу, а дальше уже для каждого продукта ищем рублевую цену и устанавливаем долларовую.

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


Сообщение отредактировал tszyan - 5.3.2013, 3:57
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Раскройте свой потенциал заработка с помощью 2x2 Media Network — вашего пути к выгодным предложениям CPA!
Присоединяйтесь к 2x2 Media Network, вашему надежному партнеру в мире
11 2x2MediaLimited 3298 18.4.2024, 4:22
автор: 2x2MediaLimited
Горячая тема (нет новых ответов) Проверка позиций сайтов в поисковых системах с помощью Positon.ru
Мониторинг продвижения сайтов
183 Positon 179771 12.4.2024, 8:32
автор: Positon
Открытая тема (нет новых ответов) Моя div-ная верстка соответствует ли стандартам
Хотелось бы конструктивной критики
10 muratastana 1601 14.1.2023, 1:16
автор: xweb
Открытая тема (нет новых ответов) WEB и SMM дизайн — решение ваших бизнес задач с помощью дизайна
8 justburger 5342 6.7.2020, 9:18
автор: justburger
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыЦелевой трафик +30% за 4 месяца с помощью SEO продвижения у Хачатура - отзывы и кейсы в топике
6 Mikejones 3459 9.7.2019, 10:47
автор: Mikejones


 



RSS Текстовая версия Сейчас: 25.4.2024, 8:53
Дизайн