doesn't travel node to node but does the work with childnodes/sibling nodes. This reduces travels to non-element nodes.