Javascript 在不同的父元素中使用.closest on元素

Javascript 在不同的父元素中使用.closest on元素,javascript,jquery,Javascript,Jquery,我正在尝试获取最靠近按钮的输入字段的值。无论何时按下按钮,我都可以使用for循环来执行此操作,但是我想知道是否可以使用。最近的? 下面是我目前的代码 $('.折扣代码btn')。在('单击',()=>{ $(“.折扣代码字段”)。每个(函数(){ if($(this).val().length!=0){ log($(this.val()); } }) }) 申请 答案是否定的。你不能像这样使用最近的最近的仅在层次结构中向上遍历,输入不在按钮的上层 描述:对于集合中的每个元素,通过测试元素本身

我正在尝试获取最靠近按钮的输入字段的值。无论何时按下按钮,我都可以使用for循环来执行此操作,但是我想知道是否可以使用
。最近的
?
下面是我目前的代码

$('.折扣代码btn')。在('单击',()=>{
$(“.折扣代码字段”)。每个(函数(){
if($(this).val().length!=0){
log($(this.val());
}
})
})

申请

答案是否定的。你不能像这样使用
最近的
<代码>最近的
仅在层次结构中向上遍历,输入不在按钮的上层

描述:对于集合中的每个元素,通过测试元素本身并在DOM树中遍历其祖先,获取与选择器匹配的第一个元素

顺便说一句,
$(此)
窗口,因为有箭头功能。我相信你是想让它成为
按钮
,所以你需要使用常规功能。

归功于@Karan

$('.discount-code-btn').on('click',function(){
    var temp = $(this).closest('.row').prev().find('.discount-code-field').val();
    console.log(temp);
})

看看文档,这不是最接近的工作方式
对于集合中的每个元素,通过测试元素本身并在DOM树中向上遍历其祖先,获取与选择器匹配的第一个元素。
。还有其他用于遍历的函数,其中一个可能会有所帮助,但我没有正确查看:将
回调
箭头
转换为
普通函数
<代码>$('.discount code btn')。在('click',function(){…}
上使用
$(this)。最近('.row').prev()。查找('.discount code field').val();
获取
输入值。