这很丑陋,必须有更好的方法在jQuery中编写它

时间:2010-12-03 07:59:35

标签: javascript jquery traversal

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

这看起来很愚蠢,但这是我能想到的最佳方式。我尝试了parentsUntil('li'),但根本没用,我也尝试了parents('li')closest('li')。在jQuery中有没有相当于:

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

如果不是我认为生病尝试将其提交给jQuery核心...

这是我的HTML(很长时间我把它放在pastebin上):http://pastebin.com/FypJ9WGe

努力让JSFiddle加入......

2 个答案:

答案 0 :(得分:5)

试试这个:

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

示例:http://jsfiddle.net/FvzT9/

但是,closest也应该有效:

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

示例:http://jsfiddle.net/FvzT9/1/

答案 1 :(得分:1)

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