Javascript JQuery()返回未定义的
我试图使用Javascript JQuery()返回未定义的,javascript,jquery,meteor,Javascript,Jquery,Meteor,我试图使用closest()获取隐藏输入字段的值,但返回的是未定义 这是html模板: <div class="content"> <input type="hidden" value="ABC123" class="imgRef"> <div class="input-group"> <input type="text" class="form-control" id="Item1" placeholder="desc
closest()
获取隐藏输入字段的值,但返回的是未定义
这是html模板:
<div class="content">
<input type="hidden" value="ABC123" class="imgRef">
<div class="input-group">
<input type="text" class="form-control" id="Item1" placeholder="description" value="{{item1}}" name="Item1" required>
<span class="input-group-btn">
<button class="btn btn-default btn-fill addField">
<i class="fa fa-plus"></i>
</button>
</span>
</div>
</div>
在DOM中向上遍历.imgRef
不是您正在单击的对象的任何父对象。您需要选择该对象的父对象(它是您单击该对象的父对象之一),然后单击.find('.imgRef')
此外,正如@Daniel在他的回答中所说,您需要.val()
而不是.value
因此:
请参见以下是通过按钮的相对路径执行此操作的方法,无需添加ID
$('button')。在('click',函数(e){
var el=$(e.currentTarget).closest('.content').find('.imgRef').val();
警报(el);
});代码>
按钮
您能否创建一个不需要的;我不能那样做<代码>最近的
在DOM树中向上(或向下)移动。。从您单击的位置向上移动不会得到您想要的输入。您需要找到它的父对象,然后执行.find('.imgRef')
也谢谢您的提示。Oops。我写这篇文章的时候,好像有人发了类似的帖子。英雄联盟
'click .addField':function(event){
console.log($(event.currentTarget).closest('.imgRef').value);
}
console.log($(event.currentTarget).closest('.content').find('.imgRef').val());