我需要为我正在使用html / jquery构建的小游戏随机选择答案选项。
我在2009年10月发现了一个由Russ Cam在Stack Overflow上共享的jQuery Randomize 插件 (见这里:Randomize a sequence of div elements with jQuery)。
这个插件非常适合作为解决方案....除了......
由于某种原因,它似乎不适用于jQuery 1.3.1。 Firebug在此行引发错误(“ elems.sort不是函数”):
elems.sort(function() { return (Math.round(Math.random())-0.5); });
现在,如果我在我的测试文件中包含jQuery 1.3.2而不是1.3.1,它就像魔法一样。
但有一点问题。我正在构建游戏的网站被锁定在jQuery 1.3.1中。这是无法改变的。
所以,有两件事:
任何人都可以帮我理解错误,或者为什么它不起作用?在jQuery 1.3.1中它被破坏或丢失的是什么?我是js / jquery的新手。
有人可以建议解决方法吗?写一行可能在1.3.1中起作用的另一种方法是什么?
答案 0 :(得分:4)
从 jQuery 1.3.2 开始,jQuery代理本地Array.prototype.sort
函数以使用jQuery对象。
使用 jQuery 1.3.1 ,您无法在jQuery对象上直接使用sort
,但将jQuery对象转换为本机数组以应用排序非常容易于:
var elems = $this.children(childElem).get(); // notice the .get()
elems.sort(function() { return (Math.round(Math.random())-0.5); });