我正在动态创建一堆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>
我错过了什么吗?谢谢
答案 0 :(得分:1)
由于#js-carousel-menu
是一个ID,您不需要找到它,您可以直接选择它。检查选择器是否成功。
alert($(this.el).find('#js-carousel-menu').length)
答案 1 :(得分:0)
由于ID必须是唯一的,$(this.el).find('#js-carousel-menu');
无用(可能是您遇到问题的原因):只能有一个#js-carousel-menu
。
所以,试试:
var _this = $('#js-carousel-menu').find('li.active');
答案 2 :(得分:0)
为什么不直接使用
$( '#JS-转盘-菜单&gt; li.active');
答案 3 :(得分:0)
您正在将活动类添加到第二个 li元素(索引1)。所以我假设你只添加一个li,这是你没有李的方式。活性