0

我正在动态创建一堆li元素

$.each(data.attributes.listingImages, function (i, obj){
if(i == 1){
   $('#js-carousel-menu').append('<li media class="active"><a media-frame><img class="js-carousel-item" src=" '+obj.thumbnail+ ' " /></a></li>' );
 }else{
   $('#js-carousel-menu').append('<li media><a media-frame><img class="js-carousel-item" src=" '+obj.thumbnail+ ' " /></a></li>' );
}

然后当我尝试搜索“活动”时,li它没有找到它

$gallery = $(this.el).find('#js-carousel-menu');
var _this = $gallery.find('li.active');

但是,如果我找出$gallery它给我:

<ul>
 <li media>...</li>
 <li media class="active">...</li>
 <li media>...</li>
 ...
 <li media>...</li>
</ul>

我错过了什么吗?谢谢

4

4 回答 4

1

既然#js-carousel-menu是ID,就不用找了,直接选择就行了。检查选择器是否成功。

alert($(this.el).find('#js-carousel-menu').length)
于 2012-05-23T15:28:22.200 回答
0

因为 ID 必须是唯一的,$(this.el).find('#js-carousel-menu');所以没有用(并且可能是您的问题的原因):只能有一个#js-carousel-menu.

所以,试试:

var _this = $('#js-carousel-menu').find('li.active');
于 2012-05-23T15:27:42.943 回答
0

为什么不直接使用 as

$('#js-carousel-menu>li.active');

于 2012-05-23T15:29:28.900 回答
0

您正在将活动类添加到第二个li 元素(索引 1)。所以我假设你只添加一个 li,这是你没有 li 的方式。积极的

于 2012-05-23T15:30:00.937 回答