动态设置时从div检索背景图像

时间:2010-05-12 01:36:10

标签: jquery css dynamic background-image

我遇到了将#x的背景图像设置为#y的背景图像的问题。

如果我错了,请纠正我,但我认为你会在一个简单的例子中说

$('#x').css('background-image',$('#y').css('background-image'));

问题是,当y初始设置时,它的设置如下:

<div id='y' style='background-image: url(./randomcolor.php?ibase=<?php echo $entity->name; ?>) ....

所以,当它这样做时,它获取了生成器的URL,并且javascript只是将其视为字符串。我是否必须在这里做一个ajax,或者是否有某种我可以使用的评估。

2 个答案:

答案 0 :(得分:1)

您的代码看起来很好。

你问题的第二部分对我没有意义......你是说你的#x div最终得到./randomcolor.php?ibase=<?php echo $entity->name; ?>的背景图片网址,而不是./randomcolor.php?ibase=xyz你期望的那个。如果是这样,你的PHP代码出了问题。 JQuery只是JavaScript,因此它只会处理客户端呈现的HTML,如果HTML包含php标记,那么页面的服务器端呈现就不起作用了。

答案 1 :(得分:1)

http://forum.jquery.com/user/rickvhoeij提供了在jquery论坛中回答此问题的线索。 http://forum.jquery.com/topic/setting-background-image-to-another-div-s-dynamically-generated-image实际上代码不正常,当我将background-image更改为camelCase(backgroundImage)时,它开始工作。这是我永远无法注意的那种错误!它过去了,我们都习惯于看到它很容易错过。 Alconja,感谢您提出有用的探究问题。答案肯定是肯定的,图形首先显示OK,其他一切都复制正常,除此之外。现在我也意识到Firefox并不总是Firefox。我开始在Linux上开展这项工作,我转向Mac,Firebug在这里看起来有点不同。我假设没有错误,因为FB没有像在Linux上那样标记它们。

咄!我们是习惯的视觉生物。