めも。
単に要素内に特定の値を持つノードを選択したいのであれば、下記のように「:contains()」を用いれば拾える。
■HTML
<div data-hoge="fuga">piyo</div>
■jQuery
$(function(){ var elem = $('div:contains("piyo")'); console.log(elem.data('hoge')); }) [console] fuga
これをどうにかごにょごにょして、data属性に特定の値を持つノードを選択できないかと色々調べてみたけれど、結局以下のようにするしかなさそう(?)な感じがした。
■HTML
<div data-hoge="fuga">piyo</div>
■jQuery
$(function(){ var elem = $('[data-hoge="fuga"]'); console.log(elem.text()); }) [console] piyo
とりあえず動作は問題ないけど、もっとスマートな記述方法はないだろうか。属性セレクタはパフォーマンスがクッソ重いからなるべくなら使いたくないところ。
見つけたらもっかいまとめよう。