nodeList may be empty