diff --git a/html.go b/html.go
index 02e1534..a0011d6 100644
--- a/html.go
+++ b/html.go
@@ -30,6 +30,20 @@ func (n *Node) QuerySelector(selector string) *Node {
return n.GetElementByTagName(selector)
}
+func (n *Node) QuerySelectorAll(selector string) []*Node {
+ return n.FindMany(func(n *Node) bool {
+ if strings.HasPrefix(selector, "#") {
+ return n.HasAttr("id", selector[1:])
+ }
+
+ if strings.HasPrefix(selector, ".") {
+ return n.HasClass(selector[1:])
+ }
+
+ return n.Type == html.ElementNode && n.Data == selector
+ })
+}
+
func (n *Node) GetElementById(id string) *Node {
return n.FindOne(func(n *Node) bool {
return n.HasAttr("id", id)