Javascript 将随机类应用于元素
可能重复:Javascript 将随机类应用于元素,javascript,jquery,hyperlink,Javascript,Jquery,Hyperlink,可能重复: 是否可以获取页面上的所有“a”元素,并使用javascript将类“.pink”、““.blue”或“.yellow”随机应用于每个a元素?我想在我的页面上有不同颜色的链接,但同样随机。我不知道该怎么做,因此没有任何脚本提供。Math.random()将返回一个介于0和1之间的随机浮点数。要将其转换为数组索引,请将其乘以数组的大小,然后取Math.floor四舍五入: var arr = ['red','green','blue']; var idx = Math.floor(Ma
是否可以获取页面上的所有“a”元素,并使用javascript将类“.pink”、““.blue”或“.yellow”随机应用于每个a元素?我想在我的页面上有不同颜色的链接,但同样随机。我不知道该怎么做,因此没有任何脚本提供。
Math.random()
将返回一个介于0和1之间的随机浮点数。要将其转换为数组索引,请将其乘以数组的大小,然后取Math.floor
四舍五入:
var arr = ['red','green','blue'];
var idx = Math.floor(Math.random() * arr.length);
alert(arr[idx]);
当您按照标签中的说明使用jQuery时,这是一种可能的解决方案:
// when document is loaded
$(document).ready(function () {
// set classes
var classes = new Array ('pink', 'blue', 'green');
// calculate length once, as this will never change
var length = classes.length;
// select all a-tags
var links = $('a');
// loop through all a-tags and apply color randomly
$.each( links, function(key, value) {
// get random value/class-name from array and add it using the addClass function
$(value).addClass( classes[ Math.floor ( Math.random() * length ) ] );
});
});
评论应该说明它的作用
您可以将类放入数组中,然后循环使用“A”标记,并为每个类分配随机索引(使用Math.random()):
var colorClasses = ['pink', 'blue', 'yellow'];
$("a").each(function(e){
classIndex = Math.floor(Math.random() * colorClasses.length);
$(this).addClass(colorClasses[classIndex]);
});
现场演示:你真的是指
$。每个?是的,都有问题吗?:)为什么不$('a').each(function(){…$(this).addClass(…)…}
?这就是jQuery的美妙之处。如何确保颜色设置一次?您的代码很好,但有时会在多个元素上设置相同的颜色。
var colorClasses = ['pink', 'blue', 'yellow'];
$("a").each(function(e){
classIndex = Math.floor(Math.random() * colorClasses.length);
$(this).addClass(colorClasses[classIndex]);
});