我有这个HTML:
jQuery('.tiny-up-down-wrapper .minus').click(function() {
var theVal = jQuery(this).closest('input').val();
alert(theVal);
});
这个jQuery:
undefined
此问题是警报即将发出{{1}}。我该如何解决这个问题?
答案 0 :(得分:3)
问题是因为closest()
用于查找最近的父元素,而input
是.minus
元素兄弟的子元素。相反,您可以使用closest()
获取最近的.tiny-up-down-wrapper
,然后find()
获取input
。试试这个:
$('.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;
});
});