我需要点击a
元素样式作为按钮来获取上一个和下一个输入的值...
示例代码:
<ul>
<li>
<input type="text">
</li>
</ul>
<ul>
<li class="li-inline">
<a class="btn" href="#">
<i class=""></i>
</a>
</li>
</ul>
<ul>
<li>
<input type="text">
</li>
</ul>
我尝试使用next()
和prev()
jquery方法但未达到预期效果。
$("a").click(function() {
$(this).next(":input");
});
答案 0 :(得分:3)
首先,您必须使用closest()
与父ul
联系,然后分别使用next()
或prev()
转到下一个或上一个ul
并查找输入后代使用find()
<强> Live Demo 强>
$("a").click(function() {
$(this).closest('ul').prev('ul').find(":input");
$(this).closest('ul').next('ul').find(":input");
});
答案 1 :(得分:0)
试试这个:
$("a").click(function() {
var $a = $(this);
var prevInputValue = $a.closest('ul').prev().find('input').val();
var nextInputValue = $a.closest('ul').next().find('input').val();
});
在原始代码中,next()
不起作用,因为input
元素不是a
的兄弟元素。您需要遍历DOM以查找包含它们的相关ul
。
答案 2 :(得分:0)
尝试以下代码
$("a").click(function() {
var previous = $($(this).closest('ul').prev('ul').find.(":input").get(0)).val();
var next= $($(this).closest('ul').next('ul').find.(":input").get(0)).val();
});
由于