使用jQuery设置动态生成的div的样式

使用jQuery设置动态生成的div的样式,jquery,styles,onload,event-bubbling,Jquery,Styles,Onload,Event Bubbling,以下代码起作用: $('#class').on('mouseover', '.ado', function() { var colors = ["#848484", "#088a08", "#ffbf00", "#a901d8", "#ff0000", "#0000ff"]; var i = 0; $('.ado').each(function(i) { $(this).css({'border-left-width' : '5px', 'border-left-sty

以下代码起作用:

$('#class').on('mouseover', '.ado', function() {
 var colors = ["#848484", "#088a08", "#ffbf00", "#a901d8", "#ff0000", "#0000ff"];
    var i = 0;
    $('.ado').each(function(i) {
    $(this).css({'border-left-width' : '5px', 'border-left-style' : 'solid', 'border-left-color' : colors[i]});
    i = (i + 1)%colors.length;
  });
});
类为
.ado
的div在div
#class
(存在于页面加载中)中动态生成,代码使用不同颜色的左边框为每个实例设置样式。问题是我无法让它在加载时工作-只能在鼠标上方(或单击,等等)。我从jQuery站点了解到,“加载”是不冒泡的事件之一,因此
.on('load','.ado',function(){
不起作用。如何在没有任何用户操作的情况下将样式应用于页面加载


谢谢。

您可以手动触发这些元素的鼠标悬停事件

$('#class .ado').trigger('mouseover')
你在找什么

$(document).ready(function() { });

'setTimeout(function(){$('.ado').trigger('mouseover');},3000);'-这是可行的,但是
setTimeout
函数不是一个好主意。使用
$(document).ready(function()
不起作用,可能是因为动态加载遵循地理位置(弹出窗口供用户同意)-这就是为什么setTimeout可能不是正确的解决方案(不知道用户需要多长时间才能接受)-但也不走运。似乎我需要找到一个迹象,表明用户接受地理位置后div已加载。感谢帮助。@sideroxylon
.ado
元素是如何加载的,是通过ajax请求加载的吗?解决了!我将您的代码放错了位置-我在附加的代码之后立即添加了它
.ado
类。现在可以很好地工作了。谢谢。@sideroxylon是的,应该是这样的