我有这样的代码(静态):
<a href="#">link 1</a>
<a href="#">link 2</a>
<a href="#">link 3</a>
我想知道是否可以阅读这些<a>
标签并使用JQuery随机化它们的顺序,以便它(例如)显示:
<a href="#">link 1</a>
<a href="#">link 3</a>
<a href="#">link 2</a>
答案 0 :(得分:0)
这将以随机顺序返回链接。
$("a").sort(function() {return 0.5 - Math.random()})
所以我想如果你把链接放在一个容器中,你可以用重新排序的数组重新填充它。
答案 1 :(得分:0)
var elems = $('a');
elems.sort(function() { return (Math.round(Math.random())-0.5); });
for(var i=0; i < elems.length; i++) elems.parent().append(elems[i]);
答案 2 :(得分:0)
您可以首先使用ORDER BY RAND()或使用JQUERY在mysql查询中执行此操作 您可以为每个标记分配id,并使用此插件将其随机附加到其父元素:Random - jQuery plugin
答案 3 :(得分:0)
所有这些听起来都不错,但你可以像这样制作一个简单的插件:
(function($) {
$.fn.extend({
randomize: function() {
return $.randomize($(this).get());
}
});
$.randomize = function(arr) {
for(var j, x, i = arr.length; i; j = parseInt(Math.random() * i), x = arr[--i], arr[i] = arr[j], arr[j] = x);
return $(arr);
};
})(jQuery);
然后使用它:
$("#someEleID").prepend($("a").randomize());
或:
$("#someEleID").prepend($.randomize($("a")));