我正在使用PHPQuery,它是jQuery的PHP端口,所以它也使用CSS选择器。但是,一个区别是当有多个选择器时,PHPQuery不会按文档顺序返回匹配的元素。
是否可以将其合并为一个选择器?
#article>p,#article>blockquote
我能想到的唯一其他解决方案是:
#article>*:not(div):not(table):not(ul):not(...
答案 0 :(得分:1)
我没有使用phpQuery
(直到5分钟前)但是因为它像jQuery一样工作,使用它的.filter()
方法应该可以做到这一点,我的想法是选择所有孩子然后过滤符合条件的元素。
$doc['#article']->children()->filter(function($i, $element) {
return in_array($element->tagName, array('blockquote', 'p'));
})->foo();
答案 1 :(得分:0)
您可以将选择器组合使用add()
$('#article>p').add('#article>blockquote')
给定一个表示一组DOM元素的jQuery对象, .add()方法从这些对象的并集构造一个新的jQuery对象 元素和传递给方法的元素。 .add()的参数 可以是$()接受的任何东西,包括jQuery 选择器表达式,对DOM元素的引用或HTML片段jQuery api。