我有这样的 html 标签:
<il class="currItem" data-sourcemp3="http://**">
<il class="currItem" data-sourcemp4="http://**">
我想获得这个数据值,即使这个mp3或mp4 我写道:
var A = $('.currItem').attr("data-source(.+)")
console.log(A);
或者:
var srcName = new RegExp(/data-source.+/g);
var A = $('.currItem').attr(srcName)
console.log(A);
我得到“未定义”
我该怎么做? 提前致谢
请您参考如下方法:
这是 jQuery 对您帮助不大的情况之一。可能最简单的只是循环遍历属性,这些属性是 NamedNodeMap :
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;
}
}
示例:
$(".currItem").click(function() {
var value = "(not found)";
var attrs = this.attributes;
for (var n = 0; n < attrs.length; ++n) {
if (/^data-source.+$/.test(attrs[n].name)) {
value = attrs[n].value;
break;
}
}
alert("Value: " + value);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
Click a list item below:
<ul>
<li class="currItem" data-sourcemp3="http://**">xxxxx</li>
<li class="currItem" data-sourcemp4="http://**">xxxxx</li>
</ul>
或者您可以循环属性 in many other ways ,它是一个类似数组的对象。
