Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

This is ugly and there has to be a better way to write it in jQuery

$(this).parent().parent().parent().parent().find('[name=reply_to_id]');

Thats just stupid looking, but its the best way i can think of writing it. I tried parentsUntil('li') but that didnt work at all and i also tried parents('li') and closest('li'). Isnt there something in jQuery with the equivalent of:

$(this).firstParentThatMatchesThis('li').find('[name=reply_to_id]');

If not i think ill try submitting it to the jQuery core...

Here is my HTML (long so i put it on pastebin): http://pastebin.com/FypJ9WGe

Working on getting JSFiddle in there...

like image 339
Oscar Godson Avatar asked Dec 03 '10 07:12

Oscar Godson


1 Answers

Try this:

$(this).parents("li").eq(0).find('[name=reply_to_id]');

Example: http://jsfiddle.net/FvzT9/

But, closest should work as well:

$(this).closest("li").find('[name=reply_to_id]');

Example: http://jsfiddle.net/FvzT9/1/

like image 96
Peter Örneholm Avatar answered Sep 29 '22 09:09

Peter Örneholm