2009-12-30 45 views
0

可以說我有兩個divjQuery的.find和.replace DIV背景

如何使用.find獲得DIV1的背景圖像,比背景圖片適用於DIV2,並更換「.JPG」與「_highlighted .jpg「?

var div2bg = $('.div1').find('div').attr('background-image'??)//how to assigned the background image as a variable? 

$('.div2').css("background-image", "url(" + div2bg + ")"); 
$('.div2').css("background-image").replace(".jpg", "_highlighted.jpg"); 

回答

4

關閉但替換返回一個字符串,它不會更改源。

我想你想要這個:你決定

// Get the first background image 
var bg = $(".div1").css("background-image"); 
// Assign a modified version to another DIV 
$(".div2").css("background-image", bg.replace(".jpg", "_highlighted.jpg")); 

無論以下適用於您的項目:

var div2bg = $('.div1').css('background-image'); 

$('.div2').css("background-image", div2bg.replace(".jpg", "_highlighted.jpg")); 
+0

+1 - 我沒有測試,但看起來正確,完全像我要發佈的解決方案。 – 2009-12-30 21:11:30

+0

比我的更乾淨,謝謝! – Jared 2009-12-30 21:15:48

1

您的用下面的代碼實現這一點我會喜歡指出這種類型的東西通常是最好的類處理,並使用類似的jQuery方法:

$(".div2").addClass("highlighted"); 
$(".div2").removeClass("highlighted"); 

它極大地減少了腳本的冗長,並且可以讓視覺樣式保持在CSS中,而不是部分依賴腳本中的值和字符串。