last - jquery get position of element




Ruft den jquery-Index der gleichen Elementklasse in verschiedenen Containern ab (2)

Auf dem Ereignis "Klicken" möchte ich den Index eines Elements erhalten, das sich in mehreren Containern befinden kann. Die zurückgegebene Indexposition sollte relativ zu ihrem Container und nicht zum Body-Tag berechnet werden.

Ich habe hier ein Beispiel geschrieben: http://jsfiddle.net/zUGcK/

Mein Problem ist, dass, wenn ich auf die Zeilen im zweiten Blockcontainer klicke, der Zeilenindex zurückgegeben wird: 3, 4, 5, während ich möchte, dass 0, 1, 2 zurückgegeben werden.

Was sollte ich in den jquery index () - Argumenten ändern, um 0, 1, 2 für jede Zeile in beiden Containern zurückzugeben?

Vielen Dank

http://jsfiddle.net/zUGcK/

$('.line').click(function()
{
    alert('index: '+$(this).index('.container .line'));
});

<div class="container">
<div class="header">block #1</div>
<div class="line">line #0</div>
<div class="line">line #1</div>
<div class="line">line #2</div>
</div>

<div class="container">
<div class="header">block #2</div>
<div class="line">line #0 (index 3 returned instead of 0)</div>
<div class="line">line #1 (index 4 returned instead of 1)</div>
<div class="line">line #2 (index 5 returned instead of 2)</div>
</div>

Aktualisierter Index mit $ this.

 $('.line').click(function()
{
    var $this=$(this);
   var indx= $this.parent('.container').find('.line').index($this);

    alert('index: '+indx);
});

Sie können dies verwenden, um den Indexwert für Elemente in seinem Container abzurufen

$(function()
{
    $('.line').click(function()
    {
        //alert('index: '+$(this).index('.container .line'));

        alert($(this).closest('.container').find('.line').index(this));
    });
});

Sie müssen diese Syntax von $ .index verwenden

.index( element )
element The DOM element or first element within the jQuery object to look for.

Arbeitsgeige







indexing