jQuery扩展适用于jQuery 1.4.4但不适用于1.7.2

时间:2012-09-06 10:02:58

标签: jquery

我需要根据HTML选择生成一个非常好看的下拉表单元素。我能找到的最好的(最适合这个项目的)就是这个:http://demo.tutorialzine.com/2010/11/better-select-jquery-css3/select-jquery.html。它的工作原理是使用自定义标记替换HTML元素,该标记具有良好的样式和动画效果。一切都好。

但是,它不适用于较新版本的jQuery。我已经设置了一个小提琴http://jsfiddle.net/VTTyu/来展示它的功能。它适用于jQuery 1.4.4但是当你将它更改为使用jQuery 1.7.2(我在项目的其他地方使用它)时它会停止工作。

我知道我可以阅读过去18个月中每个jQuery版本的发行说明,并尝试确定可能导致这种情况发生的变化,但我想知道是否有更多有经验的人能够发现问题?

感谢大家,非常感谢任何指针/建议。

编辑:对小提琴进行更多测试似乎可以使用高达1.5.2的jQuery,但之后的任何版本和下拉按钮都会从页面中消失。

3 个答案:

答案 0 :(得分:3)

className替换(两次)'class'(引用也是这样),看看魔法发生了。

答案 1 :(得分:3)

attr的使用已更改,因此

select.attr('selectedIndex')

不会超过1.6,而是

select.prop('selectedIndex')

查看有关.prop

的评论

答案 2 :(得分:2)

{j} 1.6之后,.attr()不再支持获取DOM对象属性。因此,请使用.prop()方法,就像在此行if(i==select.prop('selectedIndex')){ }

中一样

see this update on .attr()