如何用jQuery获取指定ID输入框的相邻同层级div内的输入框?
问题解决
你用$("#myInput").closest("input")得到第一个input的原因是:closest()方法会从当前元素开始向上查找匹配的祖先元素(包含自身),而#myInput本身就是input,所以直接返回了自身。
要获取目标input,需要按DOM层级定位,以下是几种可行的jQuery写法:
方法一(最稳妥)
$("#myInput").closest(".picker").next(".picker").find("input")
步骤拆解:
closest(".picker"):找到#myInput最近的.picker父容器next(".picker"):定位到这个容器的下一个同级.picker容器find("input"):获取该容器内的input元素
方法二(父级明确时可用)
如果确定#myInput的直接父元素就是.picker,可以用parent()替代closest():
$("#myInput").parent(".picker").next(".picker").find("input")
方法三(简化版)
如果两个.picker是连续相邻的,也可以省略.picker的筛选:
$("#myInput").closest(".picker").next().find("input")
内容的提问来源于stack exchange,提问作者zzzzz
相关产品推荐
相关产品推荐

