Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 动态设置时从div检索背景图像_Jquery_Css_Dynamic_Background Image - Fatal编程技术网

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

Jquery 动态设置时从div检索背景图像,jquery,css,dynamic,background-image,Jquery,Css,Dynamic,Background Image,我在将a#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; ?>

我在将a#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; ?>) ....
您的代码看起来不错

你问题的第二部分对我来说没有意义。。。你是说你的
#x
div的背景图像url是
/randomcolor.php?ibase=
而不是你期望的
/randomcolor.php?ibase=xyz
。如果是这样,那么您的PHP代码就出了问题。JQuery只是JavaScript,因此它将只处理客户端呈现的HTML,如果该HTML包含php标记,则页面的服务器端呈现无法完成其工作。

在JQuery论坛中提供了回答此问题的线索。实际上代码不好,当我将背景图像更改为camelCase(backgroundImage)时,它开始工作。这是一种我永远看不到的bug!!它只是过去了,我们都习惯于看到它是如此容易错过。Alconja,我感谢你提出的有用的调查问题。答案应该是肯定的,首先图形显示正常,除此之外其他一切都很好。现在我也意识到Firefox并不总是Firefox。我是在Linux上开始做这项工作的,后来我搬到了Mac电脑上,Firebug在这里看起来有点不同。我假设没有错误,因为FB没有像在Linux上那样标记它们


哼!我们是习惯性的视觉生物

不,我并不是说php代码不应该出现在哪里:我只是展示了如何设置图像。在客户端,它实际上以完整的URL结束:它没有将#x div的背景设置为#y div的背景或任何东西。所以我假设它没有调用服务器函数。@tixrus:仍然没有足够的信息来知道发生了什么(正如我所说的,您的代码看起来不错)。如果根本没有jquery代码,您的
#y
div是否正确显示背景图像?如果手动将背景图像设置为
#x
是否显示ok(正常)?您能否在它们之间复制其他CSS属性(例如
$('#x').CSS('border',$('#y')).CSS('border');
)?在firebug之类的东西中,你能看到背景图像样式信息被复制了吗?只是显示不正确还是没有复制?我接受了这个答案,因为它提出了非常好的问题,即使解决方案在别处。jquery论坛的答案并不完全正确(事实上,表单背景图像和camelcase版本都可以使用),但在混乱中,我发现了一个错误,它与任何一个问题都不相关,老实说,如果我能记住的话,我会报告它'因为它应该可以正常工作。。。让我们看看它会发出什么警报…这很奇怪。。。这里显然还有其他一些微妙之处,因为
.css('background-image')
.css('backgroundImage')
实际上应该都能工作(请参阅),所以我认为您在jquery(或浏览器)中偶然发现了一些模糊的错误,导致连字符版本失败,但camelCase版本在这个特定实例中可以工作(我无法复制它-它使用
背景图像
)对我有效。不管怎样,很高兴你让它工作了。:)事实上,Alconja你是对的,背景图像没有错,因为它在我的代码中的其他地方工作,我只有静态图像。有一些普通的bug更容易修复,但就像我说的,问题是我不习惯Mac平台上的显示器。我很抱歉,但我不记得确切的错误是什么,因为它是像3天前。