为什么不是';t this.value或$(this.val()是否在JavaScript/jQuery中响应?
我有以下为什么不是';t this.value或$(this.val()是否在JavaScript/jQuery中响应?,javascript,jquery,Javascript,Jquery,我有以下函数,它成功地增加了input type=“text” 我只是想知道为什么为了更简洁的代码,这些都不起作用: $("#line" + arrayNumber + "_quantity").val(this + 1); $("#line" + arrayNumber + "_quantity").val(this.value + 1); $("#line" + arrayNumber + "_quantity").val($(this).val() + 1); 你应该像下面这样试试 $(
函数
,它成功地增加了input type=“text”
我只是想知道为什么为了更简洁的代码,这些都不起作用:
$("#line" + arrayNumber + "_quantity").val(this + 1);
$("#line" + arrayNumber + "_quantity").val(this.value + 1);
$("#line" + arrayNumber + "_quantity").val($(this).val() + 1);
你应该像下面这样试试
$("#line" + arrayNumber + "_quantity").val(function (i, v) { return +v+1; });
您的版本不起作用,因为this
没有引用文本框
感谢一元运算符。您应该像下面这样尝试
$("#line" + arrayNumber + "_quantity").val(function (i, v) { return +v+1; });
var lineVar = $("#line" + arrayNumber + "_quantity");
lineVar.val(parseInt(lineVar.val()) + 1);
您的版本不起作用,因为this
没有引用文本框
感谢一元运算符。没有足够的信息来回答这个问题。您能发布函数的其余部分吗?因为
此
未引用$(“#line”+arrayNumber+“#quantity”)选择的DOM元素。
。它可能指的是窗口
或文档
或事件处理程序绑定到的任何元素(如果这些行在一行中)。请查看MDN文档以了解有关此的更多信息:。此
很可能是[window]
感谢您的响应此处没有足够的信息来很好地回答此问题。您可以发布函数的其余部分吗?因为此
未引用$(“#行”)选择的DOM元素+arrayNumber+“\u数量”)
。它可能指的是窗口
或文档
或事件处理程序绑定到的任何元素(如果这些行在一行中)。请查看MDN文档以了解有关此的更多信息:。此
很可能是[window]
感谢您的回复。不过有点变化:return parseInt(v)+1
@rybo111:您应该传递一个基数,parseInt(v,10)
,或者只使用一元加号:return+v+1代码>。谢谢。不过有点变化:return parseInt(v)+1
@rybo111:您应该传递一个基数,parseInt(v,10)
,或者只使用一元加号:return+v+1代码>。
var lineVar = $("#line" + arrayNumber + "_quantity");
lineVar.val(parseInt(lineVar.val()) + 1);