1

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

例子:

<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());
});
4

2 回答 2

1

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

在您的示例中,替换:

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

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

然后,所有具有“.post”类的元素将一次全部着色为相同的随机颜色。

于 2013-08-12T20:53:53.080 回答
1

您需要稍微更改一下代码,使其看起来像这样:

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

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

这是一个工作示例:http: //jsfiddle.net/r74j6/212/

于 2013-08-12T21:00:16.683 回答