jQuery 1.3.2中是否有JQuery(..).html()buggy?

这里的代码不会返回预期的内容
jQuery('<div>Look here: [ jQuery0="null" ]</div>').html()

相反,你得到:

Look here: [ ]

有问题的jQuery源代码

html: function( value ) {
        return value === undefined ?
                (this[0] ?
                        this[0].innerHTML.replace(/ jQuery\d+="(?:\d+|null)"/g,"") :
                        null) :
                this.empty().append( value );
},

.replace背后的动机是什么?我没有时间来讨论jQuery的其余部分,但这样的代码让我想知道我是否应该在生产中使用jQuery.

解决方法

代码是1.3.2中的新代码,不在1.3.1中.在我看来,jQuery使用名称以“jQuery”开头的属性来存储元素上的数据,这是当你要求返回html时不向你公开的方法.

它显然不是一个错误.作者打算在返回字符串之前删除该HTML.

这会影响您的代码吗?与任何库一样,您应该在部署之前彻底测试您的生产代码.

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...