diff --git a/HTMLKit/CSSPseudoFunctionSelector.m b/HTMLKit/CSSPseudoFunctionSelector.m
index 0e0fc14..f4bbbe0 100644
--- a/HTMLKit/CSSPseudoFunctionSelector.m
+++ b/HTMLKit/CSSPseudoFunctionSelector.m
@@ -73,8 +73,9 @@
- (BOOL)acceptElement:(HTMLElement *)element
{
- for (HTMLNode *child in element.childNodes) {
- if (child.nodeType == HTMLNodeElement && [self.selector acceptElement:child.asElement]) {
+ HTMLNodeIterator *iterator = [element nodeIteratorWithShowOptions:HTMLNodeFilterShowAll filter:nil];
+ for (HTMLNode *descendant in iterator) {
+ if (descendant.nodeType == HTMLNodeElement && [self.selector acceptElement:descendant.asElement]) {
return YES;
}
}