かなり興味深い問題が発生します。jQueryが追加されたHTML要素は、crate&clj-jsを使用してCSSスタイルを取得しません
htmlとして生成され、jquery経由でページに挿入された要素は、割り当てられたスタイルを取得しません。
スタイルはHTMLにありますが、ブラウザ(Chrome、Firefox)はそれをまったく表示しません。
生成されたHTMLはブラウザ経由で保存することができ、開いたときにHTMLファイルにスタイルが適用されます。
javascript経由で直接生成される同じコード(クレートをバイパスする)またはclojurescript内の明示的なHTML文字列を使用して生成される同じコードも、正しいスタイルを持ちます。
クレートで生成された要素にのみ問題があるようです。
例えば:私はdefhtml同じ結果で、defpartial含むここクレートのいくつかのバリエーションを試してみました
.red {
color:red;
}
:赤のクラスは、単純に定義されて
(-> (jquery "body")
(.append (crate/html [:h1{:class "red"} "Test inside a jquery"])))))
。 jayqまたはラップされていないjqueryを使用した場合と同じ結果になります。 同様に、異なるjqueryメソッド(inner、append、htmlなど)を使用します。
非常に明白なものがありませんか?
同じことが適用されます。クラスは正しく生成され、ブラウザはまったくそれを拾わない。 –