Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   перебор DOM элементов по кругу (https://javascript.ru/forum/css-html/76411-perebor-dom-ehlementov-po-krugu.html)

Brick 09.01.2019 17:48

перебор 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, но не вышло :(

рони 09.01.2019 18:23

Brick,
var index = 0, a = ;
//...
 index = ++index % a.length;
 a[index].cllick();

Brick 09.01.2019 21:09

спасибо

Brick 09.01.2019 21:22

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 ... и тд...

рони 09.01.2019 21:58

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)
}()

});

Brick 09.01.2019 22:38

спасибо попробую

Brick 09.01.2019 22:39

как провильно экранировать 1) или 2):
1) \[\q\\]
2) \\[q\\]

рони 09.01.2019 23:00

Цитата:

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

:-?
возможно так \[q\]


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