最近jQuery attr返回类型的变化?

时间:2012-04-02 23:04:14

标签: javascript jquery attributes

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

我被要求帮助弄清楚最近网站破坏的原因。他们正在从CDN加载最新版本的jQuery,并自由使用它,包括attr等功能。我对jQuery的经验很少;我听说attr坏了,我看到它表现不佳,所以我从不使用它。

无论如何,这段代码到处都有像foo = $(this).attr('class').split(' ')[0]这样的东西,最近所有这些都破了。显然,attr用于返回一个String,现在它返回一个jQuery对象。这很简单,可以将这样的代码更改为更合理的foo = this.className.split(' ')[0],但我想知道我是否会以错误的方式解决这个问题。

所以,我的问题是:是否有一个jQuery配置设置让attr像以前的版本一样行动,并返回一个字符串?如果没有,有没有其他人遇到这个问题?你是怎么处理的?

1 个答案:

答案 0 :(得分:1)

简短的回答是否定的。

很长的答案(连同这可能不是最好的方法*感谢@GGG),这似乎与JQuery重构的方式有关.prop()使make .attr()表现得更好版本1.6。如果不回溯到以前的版本,就不能让JQuery改变它的行为。

参考:http://api.jquery.com/prop/