3

我有当前的问题:我通过 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 时,我尝试动态更改backgroung-imagetop之前的内容属性divElement(我在 CSS 中用 定义:before

我尝试了类似的方法background-image,但不起作用:

$('.divElement:before').css('background-image', 'url(../images/triangle_reverse.png)');

我怎样才能做到这一点?谢谢大家!!!

4

2 回答 2

1

下面将搜索所有具有 class 的节点.divElement,获取出现tem 之前的相应元素并更改其背景图像。这就是你想要完成的事情吗?

$('.divElement').prev().css('background-image', 'url(../images/triangle_reverse.png)');
于 2012-09-04T08:18:37.107 回答
0

我认为你最好的解决方案是在这个 CSS 中保留样式(如在这个答案中)并简单地使用addClassjQuery 中的函数。这是一个例子:

.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");
于 2012-09-04T08:25:13.083 回答