jQuery-使用正则表达式获取数据值
我有如下html标记:jQuery-使用正则表达式获取数据值,jquery,regex,Jquery,Regex,我有如下html标记: <il class="currItem" data-sourcemp3="http://**"> <il class="currItem" data-sourcemp4="http://**"> 或: 我得到“未定义” 我怎么做? 提前感谢这是jQuery对您帮助不大的情况之一。可能最简单的方法就是循环遍历属性,这些属性是: var值; var attrs=$('.currItem')[0]。属性; 对于(变量n=0;n
<il class="currItem" data-sourcemp3="http://**">
<il class="currItem" data-sourcemp4="http://**">
或:
我得到“未定义”
我怎么做?
提前感谢这是jQuery对您帮助不大的情况之一。可能最简单的方法就是循环遍历属性,这些属性是:
var值;
var attrs=$('.currItem')[0]。属性;
对于(变量n=0;n
例如:
$(“.currItem”)。单击(函数(){
var value=“(未找到)”;
var attrs=this.attributes;
对于(变量n=0;n
单击下面的列表项:
xxxxx
xxxxx
您可以使用获取元素上所有数据-*
属性的列表,然后对所有属性进行迭代
//选择具有该类的所有元素
var allEl=document.querySelectorAll('.curryItem');
//数据属性的正则表达式
var regex=/^sourcemp\d+$/;
//迭代所有元素
对于(变量i=0;i
var allEl=document.querySelectorAll('.curryItem');
var regex=/^sourcemp\d+$/;
对于(变量i=0;i 数据属性='+Data[j]+'value='+value;
}
}
}
这可能有助于:
var A = $('.currItem').attr("data-source(.+)")
console.log(A);
var srcName = new RegExp(/data-source.+/g);
var A = $('.currItem').attr(srcName)
console.log(A);
var value;
var attrs = $('.currItem')[0].attributes;
for (var n = 0; n < attrs.length; ++n) {
if (/^data-source.+$/.test(attrs[n].name)) {
value = attrs[n].value;
break;
}
}
// Select all the elements having the class
var allEl = document.querySelectorAll('.currItem');
// Regex for data attribute
var regex = /^sourcemp\d+$/;
// Iterate over all the elements
for (var i = 0; i < allEl.length; i++) {
// Get the list of all available data-* attributes on current item
var data = Object.keys(allEl[i].dataset);
// Iterate over the all data-* attributes
for (var j = 0; j < data.length; j++) {
// Check if this is the data attribute we're interested in
if (regex.test(data[j])) {
// Get value of the it
var value = allEl[i].getAttribute('data-' + data[j]);
console.log(value);
}
}
}