【发布时间】:2018-07-02 11:15:02
【问题描述】:
给定:
<a href="#" data-ajax-this="foo" data-ajax-that="faa" data-apple="tree" data-pear="pot"></a>
我只想检索和循环“data-ajax-this”和“data-ajax-that”。
我可以像这样循环所有数据属性:
$.each($('a').data(), function(i,v){
console.log(i+" , "+v);
})
...我想我可以查询“i”以查看它是否在函数中包含“ajax”:
$.each($('a').data(), function(i,v){
if(i.indexOf('ajax') !== -1){
console.log(i+" , "+v);
}
})
但理想情况下,我希望仅使用 .data() 进行选择。是否可以执行以下操作:
$.each($('a').data('ajax'+*), function(i,v){
console.log(i+" , "+v);
})
谢谢
【问题讨论】:
-
在 jQuery 中没有这样的功能(并且在 vanilla DOM API 中没有其他选择 - 当然,除了过滤掉
dataset,但这与您所展示的基本相同)。改用特定的属性命名空间怎么样? -
我认为没有捷径可走。但是你应该使用
indexOf() == 0,所以它只匹配开头,而不是属性中的任何地方。 -
谢谢两位。 @raina77ow 你能举个例子吗?谢谢
标签: javascript jquery custom-data-attribute