John -

Thank you, that worked!  Part of what confused me was that index() is 
defined as having an Obj as the argument, but not what kind - my 
attempts at using an expression as an argument were failing, so I was 
running out of ideas.  I wasn't following context properly.

Have enjoyed working with jQuery lately, nice update.

-- mike


John Resig wrote:
> .index() doesn't do what you think it does. It works like this:
>
> // Find the position of the P that an ID of someP /within/ the list of
> p elements.
> $("p").index( $("#someP")[0] )
>
> So, in your code it would be something like this:
>
> // div i want to find
> id = 3;
>
> // get the element i want to move
> var curr_obj = $("[EMAIL PROTECTED]'id[]'[EMAIL 
> PROTECTED]'"+id+"']").parent()[0];
>
> // determine its current location within the set of list_items
> var old_pos = $("div.list_item").index(curr_obj);
>
> So two things to note: .get() returns an array of elements, not just a
> single element and  .index() works over a list of elements, not the
> children of an element. I hope this makes sense, it is something of
> confusing method. I plan on polishing it up some, as it was a late
> addition to 1.0.
>
> --John
>
> On 10/17/06, Michael Crowl <[EMAIL PROTECTED]> wrote:
>   
>> .index() is driving me nuts, and I'm trying to figure out if there's an
>> obvious solution to what I'm trying to do, or if I'm missing something
>> in the API.
>>
>> Let's say I have the following:
>>
>> <div name="list">
>>
>>     <div class='list_item'>
>>     <input type='hidden' name='id[]' value='1'>
>>     // interface
>>     </div>
>>
>>     <div class='list_item'>
>>     <input type='hidden' name='id[]' value='2'>
>>     // interface
>>     </div>
>>
>>     <div class='list_item'>
>>     <input type='hidden' name='id[]' value='3'>
>>     // interface
>>     </div>
>>
>>     <div class='list_item'>
>>     <input type='hidden' name='id[]' value='4'>
>>     // interface
>>     </div>
>>
>> </div>
>>
>> How do I determine the current element position of a particular
>> list_item in that container, using jQuery?
>>
>> Using .index(), it seems like this should work:
>>
>> // div i want to find
>> id = 3;
>> // get the element i want to move
>> var curr_obj = $("[EMAIL PROTECTED]'id[]'[EMAIL 
>> PROTECTED]'"+id+"']").parent().get();
>> // determine its current location within the set of list_items
>> var old_pos = $("#list").index(curr_obj);
>>
>> ...or a number of other combinations I've tried, and none of them can
>> get anything but -1 from .index().
>>
>> What am I doing wrong here?
>> - Does .get() really return an element object?  (It seems to.)
>> - What kind of object is .index() looking for?
>>     
>
> _______________________________________________
> jQuery mailing list
> discuss@jquery.com
> http://jquery.com/discuss/
>
>   


_______________________________________________
jQuery mailing list
discuss@jquery.com
http://jquery.com/discuss/

Reply via email to