jQuery中未定义HTML数据属性

时间:2011-07-18 12:33:41

标签: jquery html5 custom-data-attribute

我正在使用以下代码访问HTML数据属性:

HTML

<p class="add-favorites-to-list">
  <a href="#" data-baskettype="order"><img src="/style/icons/cart_add.png"> Test1</a>
  <a href="#" data-baskettype="quote"><img src="/style/icons/calculator_add.png"> Test2</a>
</p>

JS

$(document).ready(function() {
  $('.add-favorites-to-list').show();
  $('.add-favorites-to-list a').click(function() {
    alert($(this).data('baskettype'));
    return false;
  });
});

CSS

.add-favorites-to-list { display: none; }

示例:http://jsfiddle.net/mR8gK/1/

在jsFiddle上工作正常,但它在我的网站中不起作用(使用相同的代码和相同的浏览器)。我在undefined中获得alert()

我已经检查过jQuery是否找到了元素,因为:console.log($(this).html());显示元素的内容。

是否有任何(显而易见的)原因导致该代码在我的网站中无效但在jsFiddle上有效?

1 个答案:

答案 0 :(得分:5)

你在运行什么版本的jQuery?因为如果你把它放在1.4.4以下,它会以未定义的形式返回。