data-xy-* 属性を持つすべての要素を選択する jQuery セレクターを実装しようとしています。完全なデータ属性がわかっている場合、要素を選択する方法を知っています。
$("[data-xy-a]")
データ属性を持つすべての要素を教えてくれますdata-xy-a
私の問題は、要素が の代わりに任意の値を持つことができることですa
。私は次のようなものが欲しい:
$("[data-xy-*]")
data-xy-* 属性を持つすべての要素を選択する jQuery セレクターを実装しようとしています。完全なデータ属性がわかっている場合、要素を選択する方法を知っています。
$("[data-xy-a]")
データ属性を持つすべての要素を教えてくれますdata-xy-a
私の問題は、要素が の代わりに任意の値を持つことができることですa
。私は次のようなものが欲しい:
$("[data-xy-*]")
(私の知る限り)これにはセレクターはありませんが、自分でフィルターすることができます...
$.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")');