[英]jQuery selector with data-* attribute
我正在嘗試實現一個jQuery選擇器,該選擇器選擇所有具有data-xy- *屬性的元素。 如果知道完整的data屬性,我知道如何選擇元素:
$("[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")');
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.