为什么不是';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);