我正在尝试使用 jQuery 获取输入值。在我的真实代码中,我有更多的输入和按钮,因此像: .middle()
这样的代码将不起作用!我需要从 btn 向上遍历。
HTML
<p>Help</p>
<input type="text" />
<input type="text" class="findMe" />
<input type="text" />
<button type="submit" class="btn">Alert</button>
JS
$(document).on('click', '.btn', function(){
//text = $(this).prev('.findMe').val();
//text = $(this).closest("input").find(".findMe").val();
alert(text);
})
我搜索并阅读了文档,但我无法让它工作。警报显示“未定义”。
奇怪的是,我还有其他与此非常接近的代码,可以完美地工作。
那么,出了什么问题?
最佳答案
您可以更改为这一行:
$(this).siblings(".findMe").val();
因为你的按钮和其他输入处于同一级别,或者我会说它们有相同的父级,所以它们是 sibling 。
虽然还有更多方法可以做到同样的事情,但是:
(不推荐)
$(this).parent().find(".findMe").val();
$(this).prevAll(".findMe").val();
$(this).prev().prev(".findMe").val();
关于jQuery DOM 遍历 .prev(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33473691/