我正在尝试选择子节点并随机更改每个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();
以为我会把这个丢掉。
提前谢谢。
答案 0 :(得分:2)
您在$
中不需要children
,因为它已经是一个jquery对象
children.each(function(){
$(this).css("background-color", random_color());
});
//^^---here
};
并注意到您错过了每个...... {/ strong>
的结束括号)
答案 1 :(得分:1)
children
已包含所有子元素..
所以使用:
function loop(){
children = $("#container").children();
children.each(function(){ //<---- children instead of $(children)
$(this).css("background-color", random_color());
});
};
答案 2 :(得分:0)
试试这个
$("#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());
});
答案 3 :(得分:0)
.children()
已经返回了一个jquery对象,因此请替换以下行:
$(children).each(function(){
这个:
children.each(function(){
答案 4 :(得分:0)
首先......你可以使用children.each而不包装$()。第二......你的风格你的风格吗?我的意思是,他们有和高度一起吗?