レッスンに戻る

子孫を数える

重要性: 5

ネストされた ul/li として構造化されたツリーがあります。

それぞれの <li> に対し、次のものを表示するコードを書いてください:

  1. その中のテキストが何か(サブツリーなし)
  2. ネストされた <li> の数 – 深くネストされたものも含むすべての子孫

新しいウィンドウでデモ

タスクのためのサンドボックスを開く

<li> のループを作りましょう:

for (let li of document.querySelector('li')) {
  ...
}

このループでは、各 li の中のテキストを取得する必要があります。最初の子ノードから直接それを読むことができ、それはテキストノードです。

for (let li of document.querySelector('li')) {
  let title = li.firstChild.data;

  // titleは他のノードの前の <li> のテキストです
}

そして、子孫の数は li.getElementsByTagName('li') で取得できます。

サンドボックスで解答を開く