Javascript.RU

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

Найти класс в классе
Здравствуйте.
Помогите пожалуйста. Прочитал кучу документации и ничего подходящего не нашел. Вообщем задача следующая. Есть код:

<div class="grid-col-5 x-offset-col-md-s text-right">
<p class="text-button-uppercase-sm text-primary-low ng-binding" ng-bind-html="::vm.getPrice() | currencyUnit">
<span class="currency-amount">100,00 </span>
<span class="currency-unit currency-unit-rub">₽</span>
</p>
<p class="result text-body2-short-fat up-sm ng-binding" ng-bind-html="vm.profit$ | async:this | currencyUnit">
<span class="currency-amount">200,00 </span>
<span class="currency-unit currency-unit-rub">₽</span>
</p>
</div>

Мне нужно найти и вытащить значения в переменные из <span> с классом currency-amount. Соответственно если использовать:

var summa1 = content.document.getElementsByClassName('currency-amount')[1].innerHTML.match(/\d/g).join('').toString()

и

var summa2 = content.document.getElementsByClassName('currency-amount')[2].innerHTML.match(/\d/g).join('').toString()

то все ок. Но проблема в том, что страница динамическая и индексы у этих классов относительно все страницы постоянно меняются. Править их постоянно руками - не дело. Но вот сам контейнер DIV имеет уникальный класс: grid-col-5. И если представлять массив из классов: currency-amount внутри этого DIV, то индексы будут постоянные и проблема решиться. Так вот как мне найти сначала этот DIV а внутри него уже и нужные мне классы с индексом 1 и 2

Если бы DIV имел ID или NAME атрибуты, то было бы проще, а тут все на классах. Помогите пожалуйста.

Делаю это в iMacros 8.9.7
Ответить с цитированием
  #2 (permalink)  
Старый 18.02.2019, 22:18
Аватар для MC-XOBAHCK
Профессор
Отправить личное сообщение для MC-XOBAHCK Посмотреть профиль Найти все сообщения от MC-XOBAHCK
 
Регистрация: 06.08.2017
Сообщений: 473

document.querySelector для поиска элемента по css селекторам.
document.querySelectorAll - поиск всех элементов по селектору.

Всё как в css:
# - айдишник
. - класс
и т.д.

let prices = document.querySelectorAll('.currency-amount');
let all = [];

prices.forEach(el => all.push(el.innerText));


Получим all - вот такой массив строк с ценниками (с пробелами и запятыми):
["100,00 ", "200,00 "]
Ответить с цитированием
  #3 (permalink)  
Старый 19.02.2019, 08:36
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от vburyagin
Прочитал кучу документации и ничего подходящего не нашел.
Да брось, ты!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти максимальное и минимальное значение в элементах DOM smart-create Events/DOM/Window 17 11.07.2017 13:36
как найти элемент с таким же атрибутом и добавить ему класс? nmlgko Общие вопросы Javascript 8 24.09.2015 15:19
Найти класс внутри класса, jquery cyber_bober Events/DOM/Window 2 04.03.2015 19:37
Как найти нужный элемент страницы и кликнуть если он имеет тока класс... Александр_1997 Events/DOM/Window 3 18.01.2014 14:34
класс в классе или как ? nyols Серверные языки и технологии 2 16.02.2011 13:55