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

标签 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 在那里...

最佳答案

试试这个:

$(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/

关于javascript - 这很丑陋,必须有更好的方法在 jQuery 中编写它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4343520/

相关文章:

javascript - jQuery 中没有触发按钮单击事件?

ios - 如何遍历可编辑的 UITextView 字符串以检查 Swift 中的某些单词

Javascript/Jquery 树遍历问题

javascript - TypeError : _this. props.editAp 不是一个函数

javascript - 将帖子拆分为多个编号的 Div,并在单击以显示隐藏内容时重新加载整个页面

javascript - 使多个 AJAX 调用 $.when.apply($, array) 无法正常工作

python - 字典循环获取每个值

javascript - 多表单动态字段javascript验证

javascript - 使用小部件工厂与 $.extend() 扩展小部件之间的区别?

jquery - 忽略使用 cancelable=false 取消 touchmove 事件的尝试,例如因为滚动正在进行且无法中断