作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这可能是个愚蠢的问题,但我似乎找不到解决方案...
我只是想制作一个isNullOrWhiteSpace 扩展(与.NET 同名),以确定字符串是否为'', '0', 0, undefined, null
。没什么疯狂的。
现在用典型的 jQuery 扩展来做这件事,它似乎总是在寻找要传入的 jQuery Object。但是在我的扩展中,我需要它来处理一个简单的 >string,但当我这样做时它根本不起作用。
$.fn.isNullOrWhiteSpace = function () {
if (['', '0', 0, undefined, null].indexOf($.trim(this)) > -1) {
return false;
}
return true;
};
'testing'.isNullOrWhiteSpace(); // doesn't work
// Uncaught TypeError: Object has no method 'isNullOrWhiteSpace'
我在这里错过了什么?
-- 从下面的答案来看,它应该很简单:
$.isNullOrWhiteSpace
,$.fn.
部分使它成为一个 jQuery-Object 扩展,而不仅仅是一个常规扩展(比如$.isArray()
、$.trim()
(我在自己的问题中使用了它……唉))
最佳答案
如果您必须将它与 jQuery Hook ——而且确实没有理由超越 namespace 经济——您可以这样做:
$.nullOrWhitespace = function(s) {
return !s || !(s.replace(/\s*/, '')); // or something like this; just an example
};
然后调用它
if ( $.nullOrWhitespace( yourString ) ) {
... whatever ...
}
关于javascript - jQuery 扩展接受一个字符串而不仅仅是一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12408196/
我是一名优秀的程序员,十分优秀!