10

jQuery セット内の要素の場所を取得しようとしています。

これが私がこれまでに試したことです。

私はこのようなことができるようにしたい:

$('ul').find('a').indexOf('.active');

.activeのセット内のの位置を取得しますa

indexOf()jQueryの関数のようなものはありますか? メソッドindex()が機能しない

4

4 に答える 4

11

$searchForjQuery set( ) を引数としてindex別の jQuery set( ) のメソッドに渡すと、$searchInつまり

$searchIn.index($searchFor)

$searchForセット内のインデックスを返します$searchIn

あなたの例では:

$('ul a').index($('ul a.active'));

</p>

于 2012-05-02T00:57:07.137 に答える
0

あなたのロジックは健全です。間違った要素を取得しているだけです: http://jsfiddle.net/xz9dW/19/

var index = $('ul a.active').closest('li').index();

兄弟がないため、リンクには値がありませんaindex()あなたはつかまなければなりませんli

于 2012-05-02T05:53:31.737 に答える
0

index関数に jQuery オブジェクトを与えるだけです。

var elements = $('ul a'); 
var index = elements.index(elements.filter('.active')); // 2

alert(index);

ライブデモ </p>


すぐに使えるそのような機能はありません。次のように簡単に実行できます。

var index = -1;
$('ul a').each(function(i){
    if ($(this).hasClass('active')){
        index = i;
        return false;
    }
});

alert(index);

ライブデモ

于 2012-05-02T01:30:29.417 に答える
-2

これは、セレクターで要求するだけで実行できます。

 $('ul a.active')

しかし、場所を取得するとはどういう意味ですか? ポジションっていうんですか?またはURL?

どちらを使用しているかを知りたい場合は、イベント関数内でclick使用します。クラス$(this)に複数の要素がある場合、クリックした要素の現在の位置を返す例を次に示します。.active

位置を取得するには:

 $('ul a.active').click(function(){
     alert( $(this).position() );
 })

URL の場所を取得するには:

 $('ul a.active').click(function(){
     alert( $(this).attr('href') );
 })
于 2012-05-02T00:44:12.117 に答える