我遇到了一个奇怪的jQuery问题。
我被要求帮助弄清楚最近网站破坏的原因。他们正在从CDN加载最新版本的jQuery,并自由使用它,包括attr
等功能。我对jQuery的经验很少;我听说attr
坏了,我看到它表现不佳,所以我从不使用它。
无论如何,这段代码到处都有像foo = $(this).attr('class').split(' ')[0]
这样的东西,最近所有这些都破了。显然,attr
用于返回一个String,现在它返回一个jQuery对象。这很简单,可以将这样的代码更改为更合理的foo = this.className.split(' ')[0]
,但我想知道我是否会以错误的方式解决这个问题。
所以,我的问题是:是否有一个jQuery配置设置让attr
像以前的版本一样行动,并返回一个字符串?如果没有,有没有其他人遇到这个问题?你是怎么处理的?
答案 0 :(得分:1)
简短的回答是否定的。
很长的答案(连同这可能不是最好的方法*感谢@GGG),这似乎与JQuery重构的方式有关.prop()使make .attr()表现得更好版本1.6。如果不回溯到以前的版本,就不能让JQuery改变它的行为。