在CSS中选择具有相同父项的多个子项

时间:2013-10-14 20:16:29

标签: php jquery css

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

是否可以将其合并为一个选择器?

#article>p,#article>blockquote

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

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

2 个答案:

答案 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