jQuery递增最近未定义输入的值
我有这个HTML:jQuery递增最近未定义输入的值,jquery,Jquery,我有这个HTML: <div class="tiny-up-down-wrapper"> <div class="minus">-</div> <div class="counter"> <input class="count" type="text" value="0" /> </div> </div> 此问题是警报正在向我们发出未定义。如何解决此问题?问题是因为最近的
<div class="tiny-up-down-wrapper">
<div class="minus">-</div>
<div class="counter">
<input class="count" type="text" value="0" />
</div>
</div>
此问题是警报正在向我们发出
未定义。如何解决此问题?问题是因为最近的()
用于查找最近的父元素,而输入
是减去元素的同级元素的子元素。相反,您可以使用closest()
获取最近的。然后使用find()
获取输入。试试这个:
$('.tiny-up-down-wrapper .minus').click(function() {
$(this).closest('.tiny-up-down-wrapper').find('input').val();
alert(theVal);
});
要实际减小该值,可以执行以下操作:
$('.tiny-up-down-wrapper .minus').click(function() {
$(this).closest('.tiny-up-down-wrapper').find('input').val(function(i, v) {
return --v;
});
});
。“对于集合中的每个元素,通过测试元素本身并在DOM树中向上遍历其祖先来获取与选择器匹配的第一个元素。”通常,此任务通过组合来解决。只需将底部代码测试为递减,就不会发生任何事。。。知道为什么吗?我错了。我更新了答案并为您添加了一个示例。
$('.tiny-up-down-wrapper .minus').click(function() {
$(this).closest('.tiny-up-down-wrapper').find('input').val(function(i, v) {
return --v;
});
});