单击span时获取附近的输入元素(onclick事件)

Getting a nearby input element when clicking on a span (onclick event)

本文关键字:元素 onclick 事件 输入 span 获取 单击      更新时间:2023-09-26

我试图用closest()函数获取附近的输入元素,但它说closttest不是一个函数。。。

以下是一个JSFidelle:http://jsfiddle.net/1mvc76fv/

HTML:

<div>
    <input type="text" value="1"/>
    <span onClick="fireIt(this)">Kick</span>
</div>
<div>
    <input type="text" value="2"/>
    <span onClick="fireIt(this)">Kick</span>
</div>`

JS:

window.fireIt =  function(param) {
    tmp = param.closest('input');
    alert( tmp.val() );  
}

如何获得最接近的输入元素?为什么最近的不工作?

使用.prev()方法访问上一个输入

window.fireIt =  function(param) {
  tmp = $(param).prev('input');
  alert( tmp.val() );
}

更新的Fiddle


由于您已经在使用jquery,因此可以使用它来绑定事件处理程序,而不是使用内联处理程序,如下所示:

$("span").click(function() {
  tmp = $(this).prev('input');
  alert(tmp.val());
});