Javascript 使用JQuery更改动态类元素的CSS

Javascript 使用JQuery更改动态类元素的CSS,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我试图更改for循环中某个元素的CSS,以便循环中的每个元素都获得不同的cse for(blablabla.. i++){ icon: myIcon = L.divIcon({ className: 'tempPanel s' + trackers[index].id })} 这使得每个元素的类都包含“tempPanel”和“s1”或“s2”或“s3”等。。 从那以后我就 $('.s' + trackers[index].id).css("background-image",

我试图更改for循环中某个元素的CSS,以便循环中的每个元素都获得不同的cse

for(blablabla.. i++){
 icon: myIcon = L.divIcon({
       className: 'tempPanel s' + trackers[index].id
})}
这使得每个元素的类都包含“tempPanel”和“s1”或“s2”或“s3”等。。 从那以后我就

$('.s' + trackers[index].id).css("background-image", "url('data:image/svg+xml;utf8,"+ app6aIcon +"')");
…因为我希望每个元素都具有tempPanel和sX的CSS属性。但是,这不会给对象一个背景图像。如果我将代码更改为

$('.tempPanel').css("background-image", "url('data:image/svg+xml;utf8,"+ app6aIcon +"')");
。。所有元素都将获得相同的背景图像(显然)


如何为元素提供不同的背景并仍然应用tempPanel的CSS属性?

还不完全清楚您的用途,但下面是一个精心设计的示例,说明如何将具有特定类的每个元素的背景图像设置为某个数据源提供的不同图像。我正在使用其他html元素上的数据属性来存储图像URL,但您可以使用数组或对象…任何您真正想要的

请注意,此方法完全省略了第二个类,而是对我们已有的类使用
eq()

$('.tempPanel')。每个(函数(){
var cur=$('.tempPanel').index($(this));
var url=$('.holder').eq(cur.data('img-url');
$(this.css('background-image','url('+url+'));
});
.tempPanel{
宽度:100px;
高度:100px;
浮动:左;
左边距:15px;
}



我现在解决了,答案很简单。我所要做的就是将JQuery.css行放在元素的类名之后。我还将className改为className:'s'+索引,而不是'tempPanel s'+索引


非常感谢你的回答

请提供更多信息。在这样的问题中,这样的问题会被忽略吗?我不知道怎样才能更好地解释我自己。你认为你能提供一个示例代码吗?这将对你和读者有所帮助。有多少“s1”、“s2”、“s3”。。。类是无限的还是设定的最大值?它们是否都包含在一个充当包装器的div中,或者您可以添加一个吗?第一种方式与第二种方式有何不同?你还在给tempPanel或sX添加相同的bg图像-我遗漏了什么吗?非常感谢你试图帮助我,我真的很感激。现在解决了。