随机更改一个div或post中指定元素的颜色

时间:2013-08-12 20:49:20

标签: jquery css random colors

我想到了一个设计理念,其中帖子的某些元素将具有相同的随机颜色值。

示例:

<post>
<top border-top = random color>
<h1 color = same random color>
text body copy (not random color)
<div background = same random color>
more elements (not random color)
<bottom border-bottom = same random color>
<end post>

我自己尝试了这个并且得到了类似的东西,但是无法弄清楚如何选择多个元素。

http://jsfiddle.net/r74j6/200/

function get_random_color() {
    var letters = '0123456789ABCDEF'.split('');
    var color = '#';
    for (var i = 0; i < 6; i++) {
        color += letters[Math.round(Math.random() * 15)];
    }
    return color;
}


$(".post").each(function() {
    $(this).css('background-color', get_random_color());
});

2 个答案:

答案 0 :(得分:1)

为了重新着色适合您提供给JQuery的选择器的所有元素,请从代码中删除.each()调用。

在您的示例中,替换:

$(".post").each(function() {
    $(this).css('background-color', get_random_color());
});

$(".post").css('background-color', get_random_color());

然后,所有带有“.post”类的元素将同时被涂成相同的随机颜色。

答案 1 :(得分:1)

您需要稍微更改一下代码,如下所示:

$(".post").each(function() {
    var color = get_random_color();
    $(this).children("h1, div").css('background-color', color);
});

请注意,您可以随意更改子选择器。

这是一个有效的例子: http://jsfiddle.net/r74j6/212/