JQuery nearest()返回undefined

use*_*628 1 javascript jquery meteor

我试图获取隐藏输入字段的值,closest()但返回undefined.

这是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>
Run Code Online (Sandbox Code Playgroud)

我尝试读取隐藏输入类型的值,返回undefined:

    'click .addField':function(event){
        console.log($(event.currentTarget).closest('.imgRef').value);
    }
Run Code Online (Sandbox Code Playgroud)

put*_*nde 6

.closest遍历DOM..imgRef不是您点击的对象中的任何父母.您需要选择该对象的父对象(它是您单击该对象的父对象之一)而不是.find('.imgRef').

另外,正如@Daniel在他的回答中所说,你需要.val()代替.value.

所以:

console.log($(event.currentTarget).closest('.content').find('.imgRef').val());
Run Code Online (Sandbox Code Playgroud)

小提琴