jquery .find和.replace div背景

时间:2009-12-30 21:03:49

标签: jquery background

假设我有两个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");

2 个答案:

答案 0 :(得分:4)

关闭但是replace返回一个字符串,它不会改变源。

我想你想要这个:

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

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

答案 1 :(得分:1)

您可以使用以下代码完成此操作:

// 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"));

以下是否适用于您的项目,您决定:我想指出这种类型的东西通常最好用类处理,并使用jQuery方法,如:

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

它极大地降低了脚本的详细程度,并允许您在CSS中保持视觉样式,而不是部分依赖于脚本中的值和字符串。