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

はIDなので#js-carousel-menu、見つける必要はなく、直接選択するだけです。セレクターが成功したことを確認してください。

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

IDは一意で$(this.el).find('#js-carousel-menu');ある必要があるため、役に立たない(そして、問題の原因となる可能性があります)。1つしか存在できません#js-carousel-menu

だから、試してみてください:

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

直接使ってみませんか

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

于 2012-05-23T15:29:28.900 に答える
0

アクティブなクラスを2番目のli要素(インデックス1)に追加します。だから私はあなたがあなたがliを持っていない方法である1つのliだけを追加すると仮定しています。アクティブ

于 2012-05-23T15:30:00.937 に答える