我正在尝试对具有特定类名的每个元素应用一个函数,如下所示:
(map #(js/console.log "element is " %) (.getElementsByClassName js/document "some-class"))
但是我想这行不通,因为getElementsByClassName返回htmlCollection而不是向量。我尝试用js-> clj和Array.from包装getElementsByClassName,但都没有用。如何将此htmlCollection转换为向量,以便可以将函数应用于每个元素?
您需要使用array-seq功能,如下所示:
(array-seq (js/document.getElementsByClassName "foo"))
它将把您的HtmlCollection
实例转换为ClojureScript序列。