我正在尝试使用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);
})
我搜索过,我确实阅读了文档,但我无法让它工作。警报说“未定义”。
奇怪的是,我有其他非常接近的代码,完美无缺。
那么,出了什么问题?
答案 0 :(得分:4)
您可以更改为此行:
$(this).siblings(".findMe").val();
因为您的按钮和其他输入处于同一级别,或者我会说他们有相同的父级,所以他们是兄弟姐妹。
虽然有更多方法可以做同样的事情,但是:
(不推荐)
$(this).parent().find(".findMe").val();
$(this).prevAll(".findMe").val();
$(this).prev().prev(".findMe").val();
答案 1 :(得分:2)
或者:
$(this).prevAll(".findMe").val();
因为 prev()函数仅查看最近的前一个元素,兄弟姐妹()会查找所有上一个和所有下一个元素