<div id="story">
<p data-x="0">lorem ipsum...</p>
<p data-x="3">lorem ipsum...</p>
<p data-x="10">lorem ipsum...</p>
</div>
JS
$("#btnleft").click(function(){
var part = 1;
var a = $("#story > p").eq(part);
var b = a.dataset["data-x"];
console.log (b);
});
我希望结果3
,但控制台说:
Cannot read property 'data-x' of undefined
答案 0 :(得分:3)
eq返回jQuery对象。您需要使用$ .data()函数。 例如:
$("#btnleft").click(function(){
var part = 1;
var $a = $("#story > p").eq(part);
var b = $a.data('x');
console.log(b);
});
答案 1 :(得分:2)
jquery对象中没有名为'dataset'
的属性。您需要通过更改
var b = a.dataset["data-x"];
要
var b = a.data("x");
或var b = a.attr("data-x");