StoryEdit 開発日誌

ウェブアプリ StoryEditを作ってましたが延期。普通のブログ。

jQueryでDOMとjQueryオブジェクトの変換

StoryEditとは関係ないけど、並行で走らせている開発でGoogle mapsを使っているため、最近はJavascriptネタが多いかも。

ながいこと、jQueryよりはMootools派なのだが、仕様によってjQuery

GoogleMapsのたとえばイベントハンドラなんかには、DOMオブジェクトを渡さないと行けないときがある。

//つくったカスタムコントロール(domobj)にイベントハンドラを追加
google.maps.event.addDomListener(domobj, 'click', function() {
	map.setCenter(latlng);
});

こんなとき、jQueryのオブジェクトからDOMオブジェクトを作る方法。
逆は、すなわち,DOMからjQueryは$を使えば良いので割愛。 

var jqueryobj = $(document.createElement('div'));
/*  いろいろやる */
google.maps.event.addDomListener(jqueryobj[0], 'click', function() {
	map.setCenter(latlng);
});

と、jqueryオブジェクトの[0]がDOMオブジェクトになってる。こちらは、$$など、専用の関数を定義してみるのも一つの手ですね。
ちなみに、僕はデバッグ用の関数は、だいたいいつも次のように定義してます。

function D (msg) {
  console.log(msg);
}

これはどの言語でも似たような関数定義するから、いいか。assertionとかもA()だったり。