Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery-使用正则表达式获取数据值_Jquery_Regex - Fatal编程技术网

jQuery-使用正则表达式获取数据值

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

我有如下html标记:

<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);
        }
    }
}