2012-01-19 8 views
4

jQueryでは、生のHTMLからDOMノードを簡単に作成できます。これは、テンプレートを使用する場合に特に便利です。Dojo 1.6に相当するjQuery(html)とは何ですか?

Dojoに相当するものは何ですか?

(FYI:私は生のHTMLがUnderscore.jsテンプレートから生成された道場にjQueryのから何かを移行だ、と私はそれらを離れて投げないようにしたいと思います。)


[UPDATEを: 2012-01-19 7:17 pm GMT + 8] @esailijaのコメントによると、dojo.toDomは実際にjQuery(html)に相当します。残念ながら、Dojo 1.7に追加されたのはちょっとですDojo 1.6に固執しました。バージョンを反映するために質問を更新しました。

答えて

6

おそらくあなたが探しているのは、dojo.placedojo._toDom(> = 1.7のアンダースコアなしで利用可能)の組み合わせです。

toDom関数は文字列を受け取り、それをDOM要素またはドキュメントフラグメントにします。

n = dojo._toDom("<li>foo</li>");    // n is a single DOM node 
n = dojo._toDom("foo");      // n is a DOM text node 
n = dojo._toDom("<li>foo</li><li>bar</li>"); // n is a DOM document fragment 

place関数も文字列とターゲットを取ります。

dojo.place("<li>foo</li>", dojo.byId("baz")); // li element is added to 
               // element with id "baz" 
dojo.place("<li>foo</li>", "baz");   // Same as above. 
dojo.place("foo", "baz");      // Note: Element with id "foo" 
               // is placed in element with 
               // id "baz" 
dojo.place(dojo._toDom("foo"), "baz");  // Text node "foo" is placed 
               // in element with id "baz" 

お知らせ第三の例:文字列が<に起動しない場合、それはどこか他の文書中の要素のIDとして扱われます。

Btw関数は、 "first"、 "last"、 "replace"、 "before"、 "after"(おそらくいくつかの他のもの)の3番目の引数を取ります。 create` `に渡さ全く` html`がない

http://dojotoolkit.org/reference-guide/dojo/place.html

+0

ありがとう!私はdojo._toDom()について知りませんでした。Dojoが非常に便利な機能を欠いていると不満を募らせました。 :p –

+1

@NikkiErwinRamirez NP。それは実際には "私的"なので(それゆえ、先頭のアンダースコア)、私は彼らがそれが誰かが直接使われていることに気づいたと思うので、1.7で "公開"にしました。 – Frode

2

これはcreateメソッドです。

+1

は、それは '代わりに別のオーバーロードされている' jQueryの(HTML) 'の'のjQuery( ""、小道具)の同等のように見えます。だから[toDom](http://livedocs.dojotoolkit.org/dojo/toDom)は実際には 'jQuery(html)'で、 'create'は' jQuery( ""、props) 'です。 – Esailija

+0

dojo.toDomは実際にはjQuery(html)と同等です。残念ながらDojo 1.7に追加されたのはDojo 1.6にちょっと残っています。 –

+1

dojo <1.7ではdojo._toDomです。 'dojo.place'(http://dojotoolkit.org/reference-guide/dojo/place.html)をチェックアウトすることもできます – Frode

関連する問題