私が達成しようとしているのは、次の例で UL と DIV の両方を見つけることです。他の可能性のある後続の DIV および UL と同様に。
<ul id="networknavigation" class="navigation" role="navigation">
</ul>
[ .. some code .. ]
<div id="footer" class="navigation">
</div>
[ .. some code .. ]
QueryPath API を調べた後、ページの「セレクターの例」の部分でわかるように、複数のセレクターを使用できることがわかりました:
QueryPath CSS セレクター リファレンス
次のような関数を使用して、PHP と QueryPath を操作しています。
public function testFindNavigation()
{
$errors = array();
foreach($this->qp->find('ul, div') as $el) {
if($el->hasClass('navigation, nav, menu') || $el->attr('id') == 'nav' || $el->attr('role') == 'navigation') {
array_push($errors, $el->html());
}
}
return $errors;
}
残念ながら、この関数は UL のみを返し、フッター DIV は返しません。なぜ機能しないのか、私にはわかりません。また、次のように find メソッドを使用しようとしました。
qp->find('ul', 'div')
これにより、まったく同じ結果が得られます。
ここで何が欠けていますか?