2

私がこれらのような要素を持っているとしましょう:

<h1 data-myapp-title>Title</h1>
<p data-myapp-description>Description</p>

jQueryで「data-myapp-*」という属性名でフィルタリングするにはどうすればよいですか?

4

1 に答える 1

3

防弾ではありませんが、これで身近になります。少し簡単にするためにセレクターに入れましたが、これが一般的な前提です。

  • セレクターと一致する属性を持つ要素を返します
  • ワイルドカードまたは正規表現のパターンを指定できます。(簡単なテストは機能しましたが、おそらくもっと多くのことを行う必要があります)

(function($){
    $.expr[':']['attr'] = function(obj,index,meta,stack){
        var re = new RegExp(meta[3]), m = false;
        for (var a = 0; a < obj.attributes.length; a++){
            m |= re.test(obj.attributes[a].name);
        }
        return m;
    };
})(jQuery);

$(':attr(data-myapp-*)').css('color','#f0f');

jsFiddle

于 2012-10-08T20:31:41.643 に答える