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, время: 05:46. |