2012-04-04 53 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