这在 FireFox 中运行良好: $("#listname").val().trim()
但是在 safari 中它会出错: $("#listname").val().trim() 虽然这确实有效,但 $("#listname").val()
这是为什么?
最佳答案
字符串没有固有的trim
函数。 jQuery 确实定义了 $.trim
,但你可以像这样使用它:
$.trim($("#listname").val())
例如,您将字符串传递给它,而不是从 String 上的属性调用它。
正如另一个回答者提到的,如果你愿意,你可以将它添加到所有字符串中(尽管我会利用 jQuery 的函数而不是使用我自己的正则表达式,因为浏览器中的 Unicode 变化莫测):
if (!String.prototype.trim) {
String.prototype.trim = (function() {
function String_trim() {
return jQuery.trim(this);
}
return String_trim;
})();
}
我在那里使用了一个命名函数(I always use named functions ),但是如果您不介意的话,可以使用更少的代码行:
if (!String.prototype.trim) {
String.prototype.trim = function() {
return jQuery.trim(this);
};
}
关于jquery - 为什么 Safari 不喜欢 JQUERY 中的 .trim() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2890875/