jQuery attr()和Data()返回未定义

时间:2018-07-05 17:35:39

标签: javascript jquery

这个问题已经被提出,但是没有答案解决了我的问题,不知道为什么下面的代码是我的图像+

window.onload = function() {
  $('button').click(deletingTheCar);
}

function deletingTheCar() {
  // alert($(this).data('id'));
  var my = $(this).data('data-items');
  alert(my);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<button data-items="yes got  it" id="osama">Hi</button>

Screen shot of my code

2 个答案:

答案 0 :(得分:4)

由于您想获得data-* attributes的最佳方法是 .data() ,因此.data()不需要第一部分data-作为参数传递,所以只需替换:

$(this).data('data-items');
______________^^^^ //You have extra 'data' here

通过:

$(this).data('items');

工作示例:

window.onload = function() {
  $('button').click(deletingTheCar);
}

function deletingTheCar() {
  console.log( $(this).data('items') );
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<button data-items="yes got it" id="osama">Hi</button>

答案 1 :(得分:2)

var my = $(this).data('data-items');更新为

var my = $(this).data('items');