1
Я вложенные маркированные списками НСБА> li> уль> литий и т.д.Изменить класс все предка Li элементов с PHP DOMDocument
<ul>
<li>Mammals
<ul>
<li>Canine
<ul>
<li>Fox</li>
<li>Wolf</li>
</ul>
</li>
<li>Feline</li>
</ul>
</li>
<li>Fish</li>
</ul>
Как я могу применить класс для всех элементов «Ли» (рекурсивно), которые являются предками целевого элемента? У меня есть:
<?php
$list = ob_get_clean();
$dom = new DOMDocument;
$dom->loadHTML($list);
$xpath = new DOMXPath($dom);
$nodes = $xpath->query('//li');
foreach ($nodes as $object) {
$parts = parse_url($object->nodeValue);
parse_str($parts['query'], $query);
if (true) {
//if certain requirements are met, modify the current object
}
//also modify all ancestor li elements
//$object-> ?? ->setAttribute('class', 'current');
}
?>
Есть причины, по которым целевые объекты должны быть идентифицированы, прежде чем искать своих предков. Я просто лишил этот код для релевантности.
Это краткое и работал отлично. Благодаря! – SiteCarpenter