我有当前问题:我通过CSS定义div
元素的当前角色
.divElement:before {
background-image: url(../images/triangle.png);
background-repeat: no-repeat;
content: "";
height: 20px;
left: 62%;
margin: 0 0 0 -50px;
position: absolute;
top: -20px;
width: 100px;
}
.divElement{
background: none repeat scroll 0 0 #FFF8D6;
border-radius: 10px 10px 10px 10px;
color: black;
font: 1em/1.4 Cambria,Georgia,sans-serif;
margin: 0px 500px 3em;
padding: 15px;
position: relative;
text-align: center;
}
我使用jQuery:$('<div class="divElement"><p><strong></strong></p></div>').appendTo(....)
动态地创建了这个元素,这是正确的。当使用jQuery和我试图在divElement
(我用:before
在CSS中定义)之前动态更改内容的backgroung-image
和top
属性时,问题就来了
我为background-image
尝试了这样的东西,但不起作用:
$('.divElement:before').css('background-image', 'url(../images/triangle_reverse.png)');
我该怎么做?感谢大家!!!
下面将搜索.divElement
类的所有节点,获取在tem之前出现的相应元素,并更改其背景图像。这就是你想要实现的吗?
$('.divElement').prev().css('background-image', 'url(../images/triangle_reverse.png)');
我认为最好的解决方案是在CSS中保留这个样式(如这个答案所示),并简单地使用jQuery中的addClass
函数。这里有一个例子:
.divElement:before {
background-image: url(../images/triangle.png);
}
.divElement.reverse:before {
background-image: url(../images/triangle_reverse.png);
}
然后在jQuery中,您只需要添加类reverse
,如下所示:
$('.divElement').addClass("reverse");
您甚至可以使用在打开和关闭状态之间轻松切换
$('.divElement').toggleClass("reverse");