Полезная информация

Общайтесь со знакомыми и друзьями в нашем сообществе в Facebook.

№115-02-2018 15:37:13

S1m0n
Участник
 
Группа: Members
Зарегистрирован: 02-02-2018
Сообщений: 3
UA: Chrome 64.0

Наличие внутреннего элемнта

скрытый текст
qCnrkye.jpg

скрины публикуются под спойлером
Такая ситуация.. У меня определенное количество одинаковых блоков(const число, к примеру 8). В некоторых из этих блоков есть элементы с одинаковым классом "special".
Мне нужно посчитать количество элементов с классом "special", не выходя за рамки, в этом случаи 8 обычных блоков. Проблема в том, если написать
скрытый текст

Выделить код

Код:

var k=0;
for (var i = 1; i <= 8; i++) 
    if(iimPlayCode("TAG POS="+i+" TYPE=DIV ATTR=class:*special*"))
        k++;


код публикуется под спойлером
то оно посчитает все 8(но уже не из первых 8 блоков как нужно было), так как есть бесконечно большое количество этих блоков, а мне нужно, чтобы было 4(исходя из примера на картинке выше). То есть мне нужно чтобы в текущем блоке стояла проверка, есть ли в этом блоке дочерний элемент с классом "special", не используя TAG POS

InfSub

Отсутствует

 

№215-02-2018 19:53:27

Squatter
Участник
 
Группа: Members
Зарегистрирован: 11-05-2017
Сообщений: 123
UA: Chrome 63.0

Re: Наличие внутреннего элемнта

Изучать

скрытый текст
Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.

Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст.


Посчитать вложенные эл-ты в пределах блока можно так
скрытый текст

Выделить код

Код:

iimPlay("CODE:URL GOTO=https://forum.mozilla-russia.org/viewforum.php?id=42");
var nodelist = content.document.querySelector(".iclosed").querySelectorAll("td");
alert(nodelist.length);


т.е. считаем все столбцы таблицы в пределах строки с классом .iclosed, для примера.

Посчитать последовательно в каждом блоке можно так

скрытый текст

Выделить код

Код:

iimPlay("CODE:URL GOTO=https://forum.mozilla-russia.org/viewforum.php?id=42");
    var nodelist = content.document.querySelectorAll(".iclosed");
    alert("Всего блоков с классом iclosed = " + nodelist.length);
for (i=0;i<nodelist.length;i++) {
    var parse = nodelist[i].querySelectorAll("td");
    alert("Блок " + i + "\nВложенных столбцов = " + parse.length);
}


А вообще телепатировать сложно. Упростили бы себе задачу если б выложили в спойлере часть кода из которого нужно сделать выборку.

Отредактировано Squatter (15-02-2018 20:16:03)

Отсутствует

 

№303-03-2018 19:30:53

InfSub
iMacroModer
 
Группа: Moderators
Откуда: DeepTown
Зарегистрирован: 13-05-2013
Сообщений: 3319
Веб-сайт

Re: Наличие внутреннего элемнта

Тема перенесена из форума «iMacros» в форум «Архив тем».


Правила форума iMacros for Firefox
Мини FAQ по iMacros for Firefox


на почту, только с интересными предложениями по скриптам (iMacros/iMacros+JS)!

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]