これは私のコードです:
if ($('#fotosingola_6985') instanceof jQuery) {
console.log($('#fotosingola_6985').attr('id'));
console.log($('#fotosingola_6985').index(".classObj"));
}
よく: このコードの出力は次のとおりです。
fotosingola_6985
-1
どうすればそれが可能になりますか?jQuery の仕様によると、セレクター文字列が引数として渡された場合、.index() は、セレクターによって一致した要素に対する元の要素の位置を示す整数を返します。要素が見つからない場合、.index() は -1 を返します。
しかし、要素 (はい、それは jQuery 要素です。コントロールを作成しました) が見つかりました: 実際には、その ID を返します。
周囲の HTML :
<div id="exp-gallery-dettaglio-slideshow-overflowed">
<a href="javascript:void(0);" class="classObj" id="fotosingola_6529"> </a>
<a href="javascript:void(0);" class="classObj" id="fotosingola_6985"> </a>
<a href="javascript:void(0);" class="classObj" id="fotosingola_6990"> </a>
<a href="javascript:void(0);" class="classObj" id="fotosingola_6998"> </a>
<a href="javascript:void(0);" class="classObj" id="fotosingola_6912"> </a>
</div>
REAL奇妙な動作:
私が行った場合 :
console.log($('.classObj').index('#fotosingola_6985'));
-1 を返します。しかし、もしそうなら:
console.log($('.classObj').index($('#fotosingola_6985')));
これは正しい 1 を返します。これはどのように可能ですか?