如何使用$(this)获取父级

Fil*_*lth 0 javascript jquery

我正在努力进一步理解遍历和正确使用$(this).

我理解$(this)用于参考上下文.但是,假设我有三个彼此相同的项目(按HTML方式),如果用户点击输入,我希望事件不仅发生在用户选择的项目上,而且能够访问父元素".item"同样.这样,我可以隐藏其他元素,".item"因为上下文将是"input"用户单击的内容.

这是我感到困惑的地方.当用户点击input($('input').on('click', doSomething);)时,我仅限于输入的上下文 - 输入中没有任何内容,所以我想访问输入上下文之外的其他元素.

然后我试着$(this)说我只希望这个事件只发生在这个项目上,不会影响所有项目.

这是一个代码示例:JSFIDDLE

我已经尝试过对此进行研究,但是我找不到这样的实例的大量信息,所以希望这也可以使其他人受益.随意对内容/标题进行编辑,因为我试图尽可能具体.

T.J*_*der 8

在jQuery集中获取元素的直接父代:parent.(如果你的集合只有一个元素,$(this)那将会给你那个元素的直接父元素.)

要查找与给定选择器匹配的jQuery集中的元素最接近的元素,从当前元素开始:closest.(如果你的设置只有一个元素,$(this)意志,会给你开始与一个元素的选择相匹配的第一个元素,然后看着它的父,那么父母等)