2012-04-04 50 views
0

的CSS属性我有<span>一个<div>里面,像这样:如何改变类

<div id="#mydiv"> 
<a href="#">Hello</a><span class="myImageArea"></span> 
    <div class="someClass"> 
    </div> 
</div>       

用下面的CSS:

.myImageArea { 
    background: url("../img/upArrow.png") no-repeat right 5px; 
    display: inline-block; 
    cursor: pointer; 
} 

我想改变myImageArea类的属性background:url

$('#mydiv').click(function() { 
    //change the background image of the class 
}); 

这怎么办?

回答

5

内点击功能,你得到你点击,使用jQuery的选择元素的引用,可以在里面,现在搜索范围。一旦你有,你可以再更改CSS属性“背景图片”:

$('#myDiv').click(function() { 
    $('.myImageArea', this).css('background-image', 'newimagepath.png'); 
}); 
+1

注册成功。请说明下调的理由...! – 2012-04-04 08:00:38

+0

谢谢大家。我想要 - >无重复向右滚动10像素透明,像'.. background-image':'url(“../ img/xArrow.png”)无重复向右滚动10像素透明'添加此赢不工作... – user1184100 2012-04-04 08:08:05

+0

您可以在样式表中分别定义其他属性,然后当jQuery更改背景图像时,这些样式将自动应用。 – cchana 2012-04-04 08:13:42

2
$('#mydiv').click(function() { 
    $(this).find('.myImageArea').css('background-image', 'url("/path/to/new/image.jpg")'); 
}); 
1

您可以使用jQuery中的css()方法即时执行此操作。

$('#mydiv').click(function(){ 
    $('.myImageArea', this).css({'background-image':'url(path/to/new/image.png)'}); 
}); 
4

更妙的是,而不是设置属性直接您可以添加自定义CSS类(前myFancyBackground)。 要添加的类别使用下列内容:

$('#myDiv').click(function() { 
    $('.myImageArea', this).addClass('myFancyBackground'); 
}); 

并在CSS文件中,您有:

.myFancyBackground { 
    background-image:url('...'); 
} 

因此,在未来,如果你想改变的背景属性,如图像,重复...你只需要改变CSS。

+0

谢谢goran .. – user1184100 2012-04-04 08:16:21