public function has($selector)
{
$callback = $this->getSelectorCallback($selector);
$result = $this->spawn();
foreach ($this->_nodes as $node) {
if ($selector instanceof \DOMElement) {
$expression = './/*';
} else {
$expression = './/node()';
}
foreach ($this->xpath($expression, $node) as $has) {
if ($callback($has)) {
$result->push($node);
break;
}
}
}
return $result;
}