Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.01.2019, 17:48
Аватар для Brick
Профессор
Отправить личное сообщение для Brick Посмотреть профиль Найти все сообщения от Brick
 
Регистрация: 16.07.2018
Сообщений: 295

перебор DOM элементов по кругу
на странице 4 элемента
на них нужно нажимать поочерёдно,
<a class="tdn prel w48px inbl">1</a>
<a class="tdn prel w48px inbl">2</a>
<a class="tdn prel w48px inbl">3</a>
<a class="tdn prel w48px inbl">4</a>
вот функция, которой нажимаю на 1 элемент:
document.addEventListener("DOMContentLoaded", function Rm()
{
d=setTimeout(function()
{
document.querySelectorAll('a[class^="tdn prel w48px inbl"]')[2].click();
}, 500);
});

как реализовать нажатие на 1,2,3,4 элементы поочерёдно?
пытался методом forEach, но не вышло
Ответить с цитированием
  #2 (permalink)  
Старый 09.01.2019, 18:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Brick,
var index = 0, a = ;
//...
 index = ++index % a.length;
 a[index].cllick();
Ответить с цитированием
  #3 (permalink)  
Старый 09.01.2019, 21:09
Аватар для Brick
Профессор
Отправить личное сообщение для Brick Посмотреть профиль Найти все сообщения от Brick
 
Регистрация: 16.07.2018
Сообщений: 295

спасибо
Ответить с цитированием
  #4 (permalink)  
Старый 09.01.2019, 21:22
Аватар для Brick
Профессор
Отправить личное сообщение для Brick Посмотреть профиль Найти все сообщения от Brick
 
Регистрация: 16.07.2018
Сообщений: 295

document.addEventListener("DOMContentLoaded", function Rm()
{
d=setTimeout(function()
{
var index = 0, a=document.querySelectorAll('a[class^="tdn prel w48px inbl"]');

index = ++index % a.length;

 a[index].click();

}, 1000);
});

не работает только на элемент №2 нажимает, а должен на 1,2,3,4 ... и опять 1,2,3,4 ... и тд...
Ответить с цитированием
  #5 (permalink)  
Старый 09.01.2019, 21:58
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Brick,
document.addEventListener("DOMContentLoaded", function()
{
var index = 0, a=document.querySelectorAll('a[class^="tdn prel w48px inbl"]');
void function Rm()
{
  a[index].click();
  index = ++index % a.length;
  setTimeout(Rm, 1000)
}()

});
Ответить с цитированием
  #6 (permalink)  
Старый 09.01.2019, 22:38
Аватар для Brick
Профессор
Отправить личное сообщение для Brick Посмотреть профиль Найти все сообщения от Brick
 
Регистрация: 16.07.2018
Сообщений: 295

спасибо попробую
Ответить с цитированием
  #7 (permalink)  
Старый 09.01.2019, 22:39
Аватар для Brick
Профессор
Отправить личное сообщение для Brick Посмотреть профиль Найти все сообщения от Brick
 
Регистрация: 16.07.2018
Сообщений: 295

как провильно экранировать 1) или 2):
1) \[\q\\]
2) \\[q\\]
Ответить с цитированием
  #8 (permalink)  
Старый 09.01.2019, 23:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от Brick
как провильно экранировать

возможно так \[q\]
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему перебор элементов не работает по кругу Sinevik Общие вопросы Javascript 4 27.12.2017 01:41
Менять по кругу прозрачность элементов в div#start ufaclub jQuery 2 11.09.2014 02:11
Функция для перевода размера из байтов в понятный для человека формат Антон Крамолов Ваши сайты и скрипты 4 05.04.2013 16:42
Получить список ВСЕХ элементов DOM Почемучкин Events/DOM/Window 7 16.04.2012 11:33
Перебор DOM элементов DjDiablo jQuery 3 04.02.2011 16:26