Simple HTML Dom: выбор и подсчет дочернего элемента (функция .eq для Simple HTML Dom) - PullRequest
0 голосов
/ 25 февраля 2020

Я не могу перевести язык DOM на язык Simple HTML DOM. Это правильное решение, которое находится на консоли Google Chrome:

$('div.row.player-sidebar-item', 0).children().eq(17).children().length;
//console answer: 4

и, следовательно, правильный ответ, но мне нужно, чтобы оно было сделано с Simple HTML DOM и не могу найти какую-либо информацию для этого. Этот код также возвращает нужную мне информацию:

$('div.col-xs-5.player-sidebar-value', 0).eq(4).children().length;
//console answer: 4

Я не знаю, как я могу это сделать в Simple HTML DOM и, следовательно, мой код до сих пор:

$countwf = count($futhead->find('div.row.player-sidebar-item', 0)->childNodes(17));

и это лучшее, что я могу получить, я не знаю, как сделать это лучше. Я надеюсь, что кто-то может мне помочь.

================ ПЕРВОЕ ОБНОВЛЕНИЕ ================

После первого комментария я попробовал это:

echo $countwf = count($futhead->find('div[class=col-xs-5 player-sidebar-value]', 0)->childNodes(4)->children());

это не работает,

echo $countwf = count($futhead->find('div[class=row player-sidebar-item]', 0)->childNodes(17)->children());

тоже не работает.

= =============== ЗАКЛЮЧИТЕЛЬНОЕ ОБНОВЛЕНИЕ ================

После часа исследований и просто пытаясь я нашел правильный ответ!

echo $countwf = count($futhead->find('div[class=col-xs-5 player-sidebar-value]', 4)->children());

спасибо за вашу помощь, я надеюсь, что люди в будущем выиграют от этого вопроса.

1 Ответ

0 голосов
/ 25 февраля 2020

Вы не считаете дочерних элементов узла 17, вам нужно позвонить ->children()

$countwf = count($futhead->find('div.row.player-sidebar-item', 0)->childNodes(17)->children());
...