3

我正在使用 PHPQuery,它是 jQuery 的 PHP 端口,因此它也使用 CSS 选择器。但是,一个区别是当有多个选择器时,PHPQuery 不会按文档顺序返回匹配的元素。

是否可以将其组合到一个选择器中?

#article>p,#article>blockquote

我能想到的唯一其他解决方案是:

#article>*:not(div):not(table):not(ul):not(...
4

2 回答 2

1

我没有使用过phpQuery直到 5 分钟前),但由于它像 jQuery 一样工作,所以使用它的.filter()方法应该可以解决问题,这个想法是选择所有子项,然后过滤符合条件的元素。

$doc['#article']->children()->filter(function($i, $element) {
    return in_array($element->tagName, array('blockquote', 'p'));
})->foo();
于 2013-10-14T21:39:18.147 回答
0

您可以结合选择器使用add()

$('#article>p').add('#article>blockquote')

给定一个表示一组 DOM 元素的 jQuery 对象,.add() 方法从这些元素的并集和传递给该方法的元素构造一个新的 jQuery 对象。.add() 的参数几乎可以是 $() 接受的任何内容,包括 jQuery 选择器表达式、对 DOM 元素的引用或 HTML 片段jQuery api

于 2013-10-14T20:18:44.543 回答