0

私のコードを使用すると-1...代わりに2を取得する必要があります。

次のようなdivタグを考慮せずに、 liwith クラスのfocus位置を取得する必要がありますul<div class="clm-XXXX">

コードを変更するにはどうすればよいですか? 注意してください (HTML 構造を変更することはできません)。

http://jsfiddle.net/4bJtr/3/

   <div class="snippet-content">
<ul class="layout-1">
    <div class="clm-1">
        <li>content 1</li>
    </div>
    <div class="clm-1">
        <li>content 2</li>
        <li class="focus">content 3</li>
        <li>content 4</li>
        <li>content 5</li>
    </div>
    <div class="clm-3">
        <li>content 6</li>
        <li>content 7</li>
    </div>
</ul>

4

2 に答える 2

6

これは良いhtmlではありませんが、解決策は次のとおりです。

http://jsfiddle.net/e7rru/

var result = $('.snippet-content li').index($('.focus'));

元のセレクター ( ) は、要素の直下に要素'.snippet-content ul > li.focus'がないため、最初は何も選択していませんでした(それらは...)、liul

また、 を使用するindex()には、インデックスを取得する要素を指定するパラメーターを送信する必要があります。docsによると、動作index('.focus') するはずですが、何らかの理由でこの場合は動作しません。

于 2013-08-21T12:59:14.523 に答える