現在表示されているスライドのidを取得したいです。
スライドの実装はslickを使用しています。
ブラウザレンダリング後にslickで用意されているクラスが付与されます。
現在表示されてるスライドに、slick-currentのクラスが付与されるので、
それを用いて現在表示されているスライド要素(li要素)が持つid(例:id="first"等)を取得したいのですが、undefinedとなってしまいます。
しばらく試してみたのですが、解決の糸口が見つけられなかったため投稿させていただきました。orz
下記にコードを記載いたします。
※src、pathなどに格納される任意の値は{src}、{path}と記載しています。
html
1<-- ソース --> 2 <div id="slide_area" class="slide_area"> 3 <ul class="slider"> 4 <li id="first"><img src="{path}" alt="{hoge}"></li> 5 <li id="second"><img src="{path}" alt="{hoge}"></li> 6 <li id="third"><img src="{path}" alt="{hoge}"></li> 7 </ul> 8 </div>
html
1<-- ブラウザレンダリング後 --> 2http://dogsearch.jp/img/inu-sam.jpg 3 4 5<div id="slide_area" class="slide_area"> 6 <ul class="slider slick-initialized slick-slider"> 7 <!-- prev arrow --> 8 <a class="slick-prev slick-arrow" href="#"><img src="https://cdn.icon-icons.com/icons2/685/PNG/512/left_icon-icons.com_61213.png" alt="左矢印SVG画像"></a> 9 10 <!-- slide --> 11 <div class="slick-list draggable"> 12 <div class="slick-track"> 13 <!-- ↓slide-currentがある箇所↓ --> 14 <li id="first" class="slick-slide slick-current slick-active" data-slick-index="-1" aria-hidden="false" tabindex="-1"> 15 <img src="http://dogsearch.jp/img/inu-sam.jpg" alt="可愛い犬の写真"> 16 </li> 17 <li id="second" class="slick-slide slick-cloned" data-slick-index="-1" aria-hidden="true" tabindex="-1"> 18 <img src="http://dogsearch.jp/img/inu-sam.jpg" alt="可愛い犬の写真"> 19 </li> 20 <li id="third" class="slick-slide slick-cloned" data-slick-index="-1" aria-hidden="true" tabindex="-1"> 21 <img src="http://dogsearch.jp/img/inu-sam.jpg" alt="可愛い犬の写真"> 22 </li> 23 </div> 24 </div> 25 26 <!-- next arrow --> 27 <a class="slick-next slick-arrow" href="#"><img src="https://cdn.icon-icons.com/icons2/685/PNG/512/right_icon-icons.com_61212.png" alt="右矢印SVG画像"></a> 28 </ul> 29</div> 30 31
js
1$('#slide_area').on('click', function () { 2 console.log('クリックされました!'); 3 //戻り値:クリックされました! 4 console.log($('.slick_current')); 5 //戻り値:jQuery.fn.init [prevObject: jQuery.fn.init(1), context: document, selector: ".slick_current"]が返る。 6 //(要素が取得できているはず。。) 7 console.log($('.slick_current').attr('id')); //戻り値:undefinedが返る 8 console.log($('.slick_current').prop('id')); //戻り値:undefinedが返る 9})
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。