public function children($selector = null)
{
$stack = array();
foreach ($this->stack(1) as $node) {
// foreach($node->getElementsByTagName('*') as $newNode) {
foreach ($node->childNodes as $newNode) {
if ($newNode->nodeType != 1) {
continue;
}
if ($selector && !$this->is($selector, $newNode)) {
continue;
}
if ($this->elementsContainsNode($newNode, $stack)) {
continue;
}
$stack[] = $newNode;
}
}
$this->elementsBackup = $this->elements;
$this->elements = $stack;
return $this->newInstance();
}