0
我試圖實現的是在以下示例中查找UL和DIV。以及任何其他可能的後續DIV和UL。QueryPath查找 - 使用多個選擇器查找元素
<ul id="networknavigation" class="navigation" role="navigation">
</ul>
[ .. some code .. ]
<div id="footer" class="navigation">
</div>
[ .. some code .. ]
在的QueryPath API服用後一看,我發現,這是可以使用多個選擇,你可以在頁面的「實例選擇」部分看到:
QueryPath CSS Selector Reference
我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和我真的不能,爲什麼它不工作。我也嘗試使用這樣的查找方法:
qp->find('ul', 'div')
這給了我完全相同的結果。
我在這裏錯過了什麼?
我已經嘗試過使用分離字符串的版本,結果相同。 [QueryPath Find reference](http://api.querypath.org/docs/class_query_path.html#a3dee7b848a27c58364868af549e14daa)聲明它只接受一個字符串作爲參數。 如果我正在查找類設置爲「導航,導航,菜單」的元素,那麼也應該不會返回任何東西。 –
你確定嗎?你的「或」聲明讀取的方式,你仍然可以從角色導航中得到任何結果嗎?另外,只讀的參考文獻僅顯示了參數中的單個類 - 如果將類分爲$ el-> hasClass('navigation')|| $ el-> hasClass('nav')|| $ el-> hasClass('menu')? – root