![](/img/trans.png)
[英]add attributes dynamically to the html element based on Index value in the element
[英]Is there a way to search an array inside multiple data attributes of an html element based on a single value?
我有一個html元素,該元素在data屬性內使用數組
<div data-area='["North America", "United Kingdom"]'>Test</div>
我具有與不同“事物”有關的多個數據屬性
<div data-area='["North America", "United Kingdom"]' data-job='["Programmer","Scientist"]'>test</div>
如何基於1值搜索整個元素上的所有數據屬性標簽?
我正在嘗試使用選擇器,而不是遍歷每個數據屬性,這可能嗎?
這是一個例子,再加上我嘗試過的東西。
// search all data attributes of a div element that contains the given value and apply a hidden class
// this should search every data attribute for "Programmer"
$('[data-*="Programmer"]').addClass('hidden');
我只能想到這種解決方案:
$('body *').addClass(function() {
var data = $(this).data();
for (var i in data) if (data.hasOwnProperty(i)) {
if (data[i].indexOf('Programmer') > -1) {
return;
}
}
return 'hidden';
});
這不是最佳方法,因為它會遍歷所有DOM節點,但是我看不到其他方法來選擇所有具有data-*
屬性的節點。
如果對應該檢查的節點有一些更精確的標准-強烈建議相應地更改選擇器(而不是body *
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.