如何逐个获取属性值?

时间:2017-06-29 10:51:09

标签: jquery html

如您所见,我有多个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;
&#13;
&#13;

3 个答案:

答案 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>