简单解释 html DOM 树 > child 节点概念

Explaining the html DOM tree > child nodes concept simply

我一直在网上搜索 DOM 树的简单解释并了解 parent、child、兄弟关系,但没有找到一个简单的解释我可以跟随。 我希望这里有人能够用简单的语言来表达它。

假设我们有一棵树如下

<div class='DOM>
   <div class='DOM_A'>
      <p class='DOM_A_1'>some text</p>
   </div>
   <div class='DOM_B'
      <div class='DOM_B_1'>
         <h1 class='DOM_B_1_1>some heading</h1>
         <p class='DOM_B_1_2>some text</p>
      </div>
   </div>
</div>

问题

问题

$DOM_B_1_2 = @$html->find('div.DOM', 0)->children(?)->plaintext;
$DOM_B_1_2 = @$html->find('div.DOM_B', 0)->children(?)->plaintext;

我建议直接将其指向您想要的元素:

div.DOM div.DOM_B p.DOM_B_1_2

所以你只需将它放在选择器中:

$DOM_B_1_2 = $html->find('div.DOM div.DOM_B p.DOM_B_1_2', 0);
echo $DOM_B_1_2;

如果您选择 ->children() 路线,您可以链接它以到达该元素:

$e = $html->find('div.DOM', 0)->children(1)->children(0)->children(1);
echo $e->innertext;

注意索引从零开始,因此第一个子项落入索引零。

这是一个例子:

<div class='DOM'> // parent div.DOM ---> A
   <div class='DOM_A'>
      <p class='DOM_A_1'>some text</p>
   </div>
   <div class='DOM_B'> // children(1) ---> B
      <div class='DOM_B_1'> // children(0) ---> C
         <h1 class='DOM_B_1_1'>some heading</h1>
         <p class='DOM_B_1_2'>some text</p> // children(1) ---> D
      </div>
   </div>
</div>

   // A            // B        // C          // D
('div.DOM', 0)->children(1)->children(0)->children(1)