3

ClojureScriptの goog.dom.queryを使用しようとしています。

(:require [goog.dom.query :as q])

…

(q/query ".foo.bar")

実行時に JS コンソールに次のエラーが表示されます。

Uncaught TypeError: Object function $o(a,b){if(!a)return[];if(a.constructor==Array)return a;if(!ia(a))return[a];if(ia(b)&&(b=ia(b)?document.getElementById(b):b,!b))return[];var b=b||document,c=b.ownerDocument||b.documentElement;xo=b.contentType&&"application/xml"==b.contentType||dk&&(b.doctype||"[object XMLDocument]"==c.toString())||!!c&&(ek?c.xml:b.xmlVersion||c.xmlVersion);return(c=Wo(a)(b))&&c.Bb?c:Zo(c)} has no method 'Ja'

編集:それを要求しただけでもエラーが発生します。

4

2 に答える 2

2

ソース コードのコメントは、この関数を非推奨としてマークし、代わりにdocument.querySelectorを使用することを推奨しています。

(.querySelector js/document ".foo.bar")

@deprecatedこれはすべてソフトウェアのクエリ セレクタです。document.querySelectorを使用
します。
https://developer.mozilla.org/en-US/docs/DOM/Document.querySelectorを参照してください。

于 2015-04-27T22:08:37.923 に答える
0

実際、goog.dom ではクエリはデフォルトでは使用できません。とにかくそれを使用する方法は次のとおりです。

(ns cljs-dom.core
  (:import [goog.dom query])
  (:require [goog.dom :as gdom]))

そして、次のように使用できます。

(.log js/console (aget (query ".myClass") 0))

gdom便宜上ここに含まれています。gdom/createElementおよび他のすべての標準呼び出しを作成できます。のみ必要な場合は必要queryありません。

于 2013-12-14T21:05:07.543 に答える