1

我正在尝试获取元素的数据属性,但不知何故它说未定义。这是我的html代码

 <div id="imageContainer">
    <img data-fullimageid="1" data-title="Cool Stuff" class="backgroundImages" src="images/galvanize/1.jpg" />
    <img data-fullimageid="2" data-title="Awesome" class="backgroundImages" src="images/galvanize/1336/dj.jpg" />
    <img data-fullimageid="3" data-title="Elite" class="backgroundImages" src="images/galvanize/3.jpg" />
</div>

并使用 Jquery 来提醒它

    var firstImageTite = $('.backgroundImages:first-child').data("data-title");
alert(firstImageTite);

它说未定义。请告诉我哪里错了,谢谢。

4

3 回答 3

3

做就是了

$('.backgroundImages:first-child').data("title");

代替

$('.backgroundImages:first-child').data("data-title");

jquery.data将 data-* 的值缓存到名称出现在data-. 所以在使用 jquery data api 的 setter 和 getter 时,只需要提及属性名称(不带前缀)。

另请注意,您使用 .data 所做的任何更改都不会更改实际属性值,因此一旦使用 .data api 进行修改,也可以使用 .data api 检索它

于 2013-09-17T03:25:57.000 回答
2

代替

.data("data-title");

.data("title");

或者

.attr("data-title");
于 2013-09-17T03:26:19.637 回答
1

放置标题而不是数据标题。

$(function(){
$('#titledata').text($('.backgroundImages:first-child').data('title'));
});

运行示例在这里

http://jsfiddle.net/rajeshmepco/ud6Ww/1/

于 2013-09-17T04:04:46.840 回答