簡體   English   中英

具有data- *屬性的jQuery選擇器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM