0

我有以下内容:

<div class="mCSB_container mCS_no_scrollbar" style="position: relative; left: 0px; width: 195px;">
   <li data-full-image="http://cf.test.com/images/store_logos/original/164df02513c4cfd3235c47a05f05c17005e178cb.jpg" data-large-image="http://cf.test.com/images/store_logos/original/164df02513c4cfd3235c47a05f05c17005e178cb.jpg" class="active">
   <img src="http://cf.test.com/images/store_logos/thumbnail/164df02513c4cfd3235c47a05f05c17005e178cb.jpg" alt="" width="228" height="304">
   </li>
   <li data-full-image="http://cf.test.com/images/store_logos/original/2027539ce2d318d297bb3298f30a433d1b2bae4a.jpg" data-large-image="http://cf.test.com/images/store_logos/original/2027539ce2d318d297bb3298f30a433d1b2bae4a.jpg" class="">
   <img src="http://cf.test.com/images/store_logos/thumbnail/2027539ce2d318d297bb3298f30a433d1b2bae4a.jpg" alt="" width="228" height="304">
   </li>
</div>

我试着做:

$('.mCSB_container').children('li').each(function () {
    console.log(this.data("data-full-image"));
});

但后来它说它没有方法数据。知道为什么吗?

4

6 回答 6

3

data是一个 jQuery 方法,所以你需要包装this在 jQuery 中,否则你只是指的是没有data方法的 DOM 元素:

$(this).data("data-full-image")
于 2013-06-18T07:12:09.030 回答
1

.data()是一个 jQuery 方法,所以给this一个 jquery 包装器:

$(this).data('full-image');
于 2013-06-18T07:12:30.987 回答
0

Wrap this in jQuery $(this)

$('.mCSB_container').children('li').each(function () {
    console.log($(this).data("full-image"));
});

http://jsfiddle.net/ccTdd/1/

于 2013-06-18T07:13:25.550 回答
0

你可以

$('.mCSB_container').children('li').each(function () {
    console.log($(this).data("fullImage"));
});
于 2013-06-18T07:15:47.687 回答
0

你也可以这样做

$('.mCSB_container').children('li').each(function () {
    console.log($(this).attr("data-full-image"));
});
于 2013-06-18T07:17:23.647 回答
0

你可以

$(document).ready(function(){
 alert( $('.mCSB_container li').data('full-image'))
})
于 2013-06-18T07:27:00.887 回答