code: func hasDescendantMatch(n *html.Node, a Selector) bool {
  	for c := n.FirstChild; c != nil; c = c.NextSibling {
  		if a(c) || (c.Type == html.ElementNode && hasDescendantMatch(c, a)) {
  			return true
  		}
  	}
  	return false
  }
docs: // hasDescendantMatch performs a depth-first search of n's descendants,
  // testing whether any of them match a. It returns true as soon as a match is
  // found, or false if no match is found.