是否有一种简单的方法可以引用调用.val()或.text()的元素值而无需双重选择或缓存?
例如:
//NO
$(this).val($(this).val() + 'something');
//NO
var $this;
$this.val($this.val() + 'something');
相反,使用诸如$& .replace()
中的令牌'some string'.replace('str', '$&123');
//results - 'some str123ing'
感谢。
答案 0 :(得分:8)
您可以将功能传递给.val()
,如下所示:
$(this).val(function(i, currentVal) { return currentVal + 'something'; });
//another example:
$(this).val(function(i, cVal) { return cVal.replace('str', '$&123'); });
这适用于任意数量的元素,函数i
是索引,currentVal
是$(this).val()
可以获得的。只需在该函数中返回您想要的新值。