Posted at

tooltip, popover等で自動生成したdivのjQueryオブジェクト

More than 5 years have passed since last update.

popoverやらtooltipはdataAPIでオプション指定して$.fn.popoverやらを呼ぶだけで楽なんですが、

肝心の生成したpopoverやらtooltipのdivオブジェクトには当然idはないので参照できず。

$.fn.popoverはjQueryの流儀に倣っているので戻り値はthis(つまりレシーバ)。

しかしメソッドを呼び出すとdata(jQueryのdataストアの方)に変化が。


popover.js

var popover = $('#hoge').popover('show').data('popover');


popoverを呼ぶとdata['popover']が、tooltipを呼ぶとdata['tooltip']が生えてました。

ちなみにdata['popover']の中身は以下みたいな感じ。


data['popover'].js

{

$element: p.fn.p.init[1]
$tip: p.fn.p.init[1]
enabled: true
options: {
...
}
type: "popover"
};

$elementは呼び出し元オブジェクトらしく$.fn.popoverメソッドのレシーバ(jQueryオブジェクト)、

$tipは生成したオブジェクトらしくpopoverクラスの付いたdiv(jQueryオブジェクト)。

残りのオブジェクトは名前の通りですね。

さてドキュメントが英語なんで読めずに困りながら感で突き進んでるんですが、

これはドキュメントに書かれてるんですかね。