我想要实现的是在以下示例中找到UL和DIV。以及任何其他可能的后续DIV和UL。
<ul id="networknavigation" class="navigation" role="navigation">
</ul>
[ .. some code .. ]
<div id="footer" class="navigation">
</div>
[ .. some code .. ]
在查看了QueryPath API之后,我发现可以使用多个选择器,正如您在&#34;示例选择器&#34;中看到的那样。页面的一部分:
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,我无法理解为什么它不起作用。我也尝试使用这样的find方法:
qp->find('ul', 'div')
这给了我完全相同的结果。
我在这里缺少什么?
答案 0 :(得分:0)
我认为你需要改变
$el->hasClass('navigation, nav, menu')
到
$el->hasClass('navigation', 'nav', 'menu')
只返回UL的原因是您的上述语句版本询问该元素是否具有“导航,导航,菜单”类,这不是您的意图。