如您所见,我有多个data-record-*
属性,我希望在jquery的帮助下使用每个函数获取这些属性的值。
但我想用jquery自动获取这些值,例如属性以``data-record`开头。
我将使用jquery / ajax
发布这些值
$('a').on('click',function(){
var el = $(this).data();
el.each(function(e){
alert(el);
})
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" data-record-id="1" data-record-name="section-1" data-record-order="short" class="ajax">Click on me!</a>
&#13;
答案 0 :(得分:1)
删除循环;我想这就是你要找的东西?
$('a').on('click',function(){
var TheData = $(this).data();
for (var key in TheData) {
console.log(TheData[key]);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" data-record-id="1" data-record-name="section-1" data-record-order="short" class="ajax">Click on me!</a>
答案 1 :(得分:1)
将每个函数调用更改为jquery.each() - 遵循.obj()的jquery文档
$('a').on('click',function(){
var myData = $(this).data();
jQuery.each( myData, function( index, value ) {
alert( "index: " + index + "value: " + value );
});
});
请阅读有关其工作方式的更多信息:https://api.jquery.com/Types/#Object
答案 2 :(得分:0)
这将为您提供可在UR Ajax调用中使用的JSON对象。或者,您也可以使用'key.replace'
替换密钥中的前缀
$('a').on('click',function(){
var TheData = $(this).data();
var TheJson = "";
for (var key in TheData) {
TheJson+='"'+ key+'":"'+TheData[key]+'",';
}
TheJson="{"+TheJson.substr(0,TheJson.length-1)+"}";
console.log(JSON.parse(TheJson));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#" data-record-id="1" data-record-name="section-1" data-record-order="short" class="ajax">Click on me!</a>