选择所有的孩子,并分配随机的背景颜色



我正在尝试选择子节点并随机更改每个div的背景颜色,以便我可以快速看到页面是如何分解的。我发现了一个很好的小脚本来产生十六进制,但我正在努力将其应用于选定的div。

返回十六进制值:

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

这不是循环遍历子元素并分配随机值

function loop(){
children = $("#container").children();
$(children).each(function(){
    $(this).css("background-color", random_color());
   }    
};
loop();

我只是想把这个扔出去。

提前感谢。

你不需要$children因为它已经是一个jquery对象

children.each(function(){
  $(this).css("background-color", random_color());
 });
//^^---here    
};

并注意到您在每个

中错过了一个右括号)

children已经包含了所有的子元素…

所以使用:

function loop(){
children = $("#container").children();
children.each(function(){                  //<----  children instead of $(children)
   $(this).css("background-color", random_color());
 });    
};

try this

$("#container").children().each(function() {      
     var letters = '0123456789ABCDEF'.split('');
     var color = '#';
      for (var i = 0; i < 6; i++ ) 
       color += letters[Math.round(Math.random() * 15)];
        $(this).css("background-color", color);
});

$("#container").children().each(function() { 
        $(this).css("background-color", random_color());   
});

 children.each(function(){
 $(this).css("background-color", random_color());
});

.children()已经返回一个jquery对象,所以替换下面的行:

$(children).each(function(){

:

children.each(function(){

First…你可以用孩子。每个都没有包装$()。第二个……你给div设置样式了吗?我是说,他们有身高和身高吗?

最新更新