Javascript jQuery attr返回类型中最近的更改?

Javascript jQuery attr返回类型中最近的更改?,javascript,jquery,attributes,Javascript,Jquery,Attributes,我遇到了一个奇怪的jQuery问题 有人请我帮忙弄清楚为什么最近有一个网站坏了。他们正在从CDN加载最新版本的jQuery,并充分利用它,包括attr等功能。我对jQuery几乎没有经验;我听说attr坏了,而且我看到它性能很差,所以我从未使用过它 不管怎么说,这段代码到处都有类似于foo=$(this).attr('class').split('')[0]的东西,这些东西最近都坏了。显然,attr用于返回字符串,现在它返回jQuery对象。通过这样的方式将代码更改为更合理的foo=this.c

我遇到了一个奇怪的jQuery问题

有人请我帮忙弄清楚为什么最近有一个网站坏了。他们正在从CDN加载最新版本的jQuery,并充分利用它,包括
attr
等功能。我对jQuery几乎没有经验;我听说
attr
坏了,而且我看到它性能很差,所以我从未使用过它

不管怎么说,这段代码到处都有类似于
foo=$(this).attr('class').split('')[0]
的东西,这些东西最近都坏了。显然,
attr
用于返回字符串,现在它返回jQuery对象。通过这样的方式将代码更改为更合理的
foo=this.className.split(“”)[0]
,非常简单,但我想知道我是否用了错误的方法


所以,我的问题是:是否有一个jQuery配置设置来获取
attr
,使其像在上一个版本中一样,并返回一个字符串?如果没有,还有其他人遇到过这个问题吗?你是怎么处理的?

简短的回答是否定的

很长的答案(以及这可能不是最好的方法*谢谢@GGG)是,这似乎与JQuery重构.prop()以使make.attr()在版本1.6中表现更好的方式有关。如果不返回到以前的版本,就不能要求JQuery更改其行为


ref:

仍然返回一个字符串..Mmmm…对于我来说,最新的jquery 1.7.2很好,仅供参考,引用第一个类名通常是一件坏事,即使
foo=this.className.split(“”)[0]
也会自找麻烦。如果任何代码开始添加和删除类名,则它们的顺序没有保证。使用jQuery,
hasClass()
是检测是否存在特定类的正确方法。整个代码都很糟糕。你们说得对,我不知道这段代码中的
attr
是如何或为什么返回jQuery对象的。。。这可能只是因为过于本地化而关闭。无论如何,我不认为我会打扰这个项目。不知何故,删除对
attr
的这些调用,并用POJS等价物替换它们,这会使事情顺利进行。返回到jQuery的前一个版本可以修复所有问题。这里发生了一些事情,但我还不确定发生了什么。我会把这个放在这里一段时间,直到我弄明白为止。