Javascript jQuery和这个对象的

Javascript jQuery和这个对象的,javascript,jquery,Javascript,Jquery,jQuery太强大了:( 当我尝试添加上述代码时,我得到“this.replace不是函数” 我意识到jQuery将自身引用为this,那么您打算如何引用this?您发布的代码定义了字符串上的“trim”方法。这允许您执行以下操作: " some random string ".trim(); 听起来您已经将trim函数的主体复制并粘贴到了其他jQuery函数中,如下所示: $('#myfield').change(function () { this = this.replace(/

jQuery太强大了:(

当我尝试添加上述代码时,我得到“this.replace不是函数”


我意识到jQuery将自身引用为
this
,那么您打算如何引用
this

您发布的代码定义了字符串上的“trim”方法。这允许您执行以下操作:

"  some random string  ".trim();
听起来您已经将trim函数的主体复制并粘贴到了其他jQuery函数中,如下所示:

$('#myfield').change(function () {
  this = this.replace(/^(\s| |\u00A0)+|(\s| |\u00A0)+$/g, "");
});
请尝试以下方法:

$('#myfield').change(function () {
  $(this).val($(this).val().trim());
});
解决的问题:

我忘了将分号放在函数的末尾,它正在jQuery函数中运行

String.prototype.trim = function () {
    return this.replace(/^(\s| |\u00A0)+|(\s| |\u00A0)+$/g, "");
};

(function ($) {
......

我没有发现这个错误。你能告诉我们错误发生的地方是什么吗?jQuery没有比任何其他对象更保留
这个
。你确定是那一行给出了错误吗?我看不出有任何问题。哪个版本的jQuery?你如何调用这个函数?不用担心,伙计们。谢谢你的回答,但这是一个bi这是一个没有经验的jQuery错误。我没有将分号放在}的末尾,它直接运行到jQuery函数中。谢谢elliot。问题解决了。只是在函数{的末尾缺少了一个简单的分号;
String.prototype.trim = function () {
    return this.replace(/^(\s| |\u00A0)+|(\s| |\u00A0)+$/g, "");
};

(function ($) {
......