document.getElementById и цикл
Добрый день, прошу помощи.
Есть цикл который должен выполнять document.getElementById('DocumentDetailForm:detail :processedDocumentExe:detail:works:r:'+ i +':expand').click(); столько раз сколько в переменной len_p. Сейчас выполняется только один клик по последнему элементу, что нужно чтоб клик выполнялся по всем элементам. function co(){ var len_p = document.getElementsByClassName('TableDetailHeader').length; var i = 0; while (i < len_p) { document.getElementById('DocumentDetailForm:detail:processedDocumentExe:detail:works:r:'+ i +':expand').click(); alert( i ); i++; } }; |
Хотя вопрос наверное в том, как сделать задержку между итерациями цикла? Чтоб эти клики были видны?
|
Maksimaxe,
Задержка цикла не канает. Можно воспользоваться setInterval где можно самому задать интервал с которым будет выполняться то что надо. Перед запуском setInterval создать переменную равную 0 и с каждым выполнением увеличивать на единицу, а когда переменная станет равной переменной len_p удалять setInterval. https://learn.javascript.ru/settimeout-setinterval |
Цитата:
сделал так: var len_p = document.getElementsByClassName('q').length; var id_p = 0; var timerId = setInterval(function() { document.getElementById('DocumentDetailForm:detail:processedDocumentExe:detail:works:r:'+id_p+':expand').click(); ++id_p; if (id_p == len_p){ clearInterval(timerId); alert( 'stop' ); }; }, 1000); |
Часовой пояс GMT +3, время: 03:38. |