jquery - 为什么 Safari 不喜欢 JQUERY 中的 .trim() ?

标签 jquery firefox safari trim

这在 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/

相关文章:

javascript - Safari 上的单选按钮标签点击计时

javascript - TypeError : v. easing[this.easing] 不是函数

jquery - 使用 jQuery 将事件绑定(bind)到动态创建的元素时出现问题

javascript - 获取图像的宽度和高度而不将其保留在页面上

html - Firefox - 位置粘性在滚动行为平滑开启时关闭

json - Firefox 书签标签如何链接到书签?

javascript - Safari 说 FormData.entries() 不是函数

javascript - 排队变量动画

css - 字体不适用于 Firefox 或手机?

javascript - Safari 上的 iframe : Failed to load resource