旧版本IE上的Jquery问题
Jquery issues on older versions of IE
我在文档中有以下语句。准备功能:
if($("sidebar ").html().trim().length == 0)
{
$("sidebar").append("<p> The sides..</p>");
};
它在ie9中工作正常,但一旦我选择ie8(浏览器和文档标准),脚本停止工作并给出以下错误:
SCRIPT5007: Unable to get value of the property 'trim': object is null or undefined
application-e51c9eee7d22e9644481115dc1fedd5f.js, line 7 character 17578
我在调试模式下查看了.js,看到上面的语句被转换为:
$("sidebar ").html().trim().length==0&&$("sidebar").append("<p> The sides..</p>")
如何防止此错误?请注意,我确实看到节点出现在呈现的页面中。
我想也许只是参考shiv5.html可能不足以照顾IE的特质。所以,我通过链轮添加了modernizr.js,并在我的布局中添加了class="no-js"。9.
我错过了什么?我还能做些什么来得到微软老板的青睐呢?
根据MDN, trim
在IE <9 .
你可以用$.trim
代替:
if($.trim($("sidebar ").html()).length == 0)
{
$("sidebar").append("<p> The sides..</p>");
} // <-- Don't want a semicolon here.
如果您不想找到trim
的所有实例并纠正它们,MDN文章列出了另一种选择。如果.trim
不是本地可用的,您可以使用以下命令来创建它:
if(!String.prototype.trim) {
String.prototype.trim = function () {
return this.replace(/^'s+|'s+$/g,'');
};
}
看看这个帖子。在快速搜索之后,似乎很多人都遇到了修剪的问题。
相关文章:
- 带有slideUp/Down和clearQueue的jQuery问题
- html代码没有运行jquery问题
- 使用jquery问题将文本附加到文本区域
- 当变量中的.find()项有多个匹配项时,jQuery问题
- 由于jQuery问题,在实现Disqus插件时出现问题
- 在jquery问题中设置值
- 基本有类 jquery 问题
- 使用最接近查找文本输入的JQuery问题
- css上的Jquery问题
- 使用 jQuery 问题验证和提交表单
- 循环每个 jQuery 问题
- insertBefore() 一个 iframe jquery 问题
- Magento - 原型.js和jQuery问题 - 添加到购物车按钮
- 谷歌浏览器jQuery问题
- IE 中止插件脚本会导致现场出现 JQuery 问题
- 在 jquery 问题中加载更多选项
- Javascript - 使用 jQuery 问题选择选项
- 使用两个函数时出现 Jquery 问题
- jquery问题 - 它不会相应地改变它
- Jquery问题在Firefox和IE中,但不是Chrome