1

data-xy-* 属性を持つすべての要素を選択する jQuery セレクターを実装しようとしています。完全なデータ属性がわかっている場合、要素を選択する方法を知っています。

$("[data-xy-a]")データ属性を持つすべての要素を教えてくれますdata-xy-a

私の問題は、要素が の代わりに任意の値を持つことができることですa。私は次のようなものが欲しい:

$("[data-xy-*]")
4

1 に答える 1

0

(私の知る限り)これにはセレクターはありませんが、自分でフィルターすることができます...

$.expr[':'].dataStartsWith = function (elem, index, not) {
  var data = $(elem).data();
  return Object.keys(data).some(function (key) {
    return key.indexOf(not[3]) === 0;
  });
};

$(':dataStartsWith("xy")');

データ属性名はデータセットでキャメルケースに変換されるため、一致data-xy-z-*させるために使用する必要があることに注意してください$(':dataStartsWith("xyZ")');

于 2014-09-17T19:41:25.147 に答える