Jquery - 改变背景图像 - 抛出奇怪的错误

时间:2010-09-14 16:09:16

标签: javascript jquery html css firefox

我的HTML中有4个列表项,项目中有图像和文本。 我想要做的是当有人点击列表项时,我想从中拉出文本并使用它来形成图像URL并将其分配给元素的背景。 但这个简单的东西不起作用,firefox在不改变图像的情况下发出警告:

reference to undefined property g[m] : Line 69 {this error is shown 3 times}
Error in parsing value for background-image. Declaration Dropped.

这是我的代码:

<ul id="colorChoice">
  <li class="setGuideColor"><img src="a.png">Red</li>
  <li class="setGuideColor"><img src="b.png">Green</li>
  <li class="setGuideColor"><img src="b.png">Blue</li>
  <li class="setGuideColor"><img src="d.png">Gray</li>
  <li class="setGuideColor"><img src="e.png">Yellow</li>
</ul>

这些是列表项。

$(".setGuideColor").click(function(){
  var img = '"url(' + $(this).text() + '.png)"';
  alert(img);
  $(".myElement").css("background-image",img);
})

这是JQuery的一部分。 在我提醒变量img的时候,我得到一个用双引号括起来的路径,并且生成的图像的URL是绝对正确的。我不知道是什么问题。

2 个答案:

答案 0 :(得分:2)

background-image的正确值是:

url(somePath.png)

你似乎有:

"url(somePath.png)"

丢失外部引号。

答案 1 :(得分:0)

$("#ColorOption").append('<ul id="colorChoice">
  <li class="setGuideColor"><img src="cyan.png">Cyan</li>
  <li class="setGuideColor"><img src="magenta.png">Magenta</li>
  <li class="setGuideColor"><img src="yellow.png">Yellow</li>
  <li class="setGuideColor"><img src="black.png">Black</li>
 </ul>');


$(".setGuideColor").click(function(){
  $(".drag-y").css("background-image",'url(' + $(this).text() + '.png)');
})

嗨thenduks,这是原始代码。