Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.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
Javascript Jquery-更改背景图像-抛出奇怪错误_Javascript_Jquery_Html_Css_Firefox - Fatal编程技术网

Javascript Jquery-更改背景图像-抛出奇怪错误

Javascript Jquery-更改背景图像-抛出奇怪错误,javascript,jquery,html,css,firefox,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 Dr

我的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>
这是JQuery部分。
在这里,当我提醒变量img时,我得到一个用双引号括起来的路径,生成的图像的URL绝对正确。我不明白问题出在哪里

背景图像的合适值为:

url(somePath.png)
你似乎有:

"url(somePath.png)"
丢失外部引号。

$(“#ColorOption”)。追加(“
    $("#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)');
    })
    
    青色 洋红色 黄色 黑色
”); $(“.setGuideColor”)。单击(函数(){ $(“.drag-y”).css(“背景图像”,“url”('+$(this.text()+'.png)”); })

嗨,杜克斯,这是原始代码

谢谢你的重播,但是如果你看到图片的url,它是:“url(somepath.png)”,我认为在url周围加引号是必要的。不,你不需要这些引号。以下是一些有效的css:
背景:白色url(abc.png)无重复中心,这里有一些无效的css:
背景:白色“url(abc.png)”无重复中心。后者是你所拥有的,前者是你所需要的:)嗨,英国人,对不起,你的解决方案部分奏效了。它更改了图像,但firefox再次抛出警告:引用未定义的属性:(通过删除包含URL:)的引号)。但是firefox仍然抛出-reference-to-undefined属性警告。有什么想法吗?另外,我想告诉你,我已经将firefox中的JAVASCRIPT STRICT选项设置为true。你可能删除了错误的引号。这是您希望用于单击处理程序的函数:
function(){$('.myElement').css('background-image','url('+$(this.text()+'.png);}
Ok,单击处理程序中的行现在没有问题。您的“引用未定义属性”错误确切发生在何时?页面加载?点击其中一个李的?也为了将来的参考,你们不应该用这样的更新来“回答”你们自己的问题。最好只更新上面的问题:更新:。。。等等。这样我就可以更新我的答案,事情也就正常了,而不是让未来的谷歌用户陷入混乱:)我一点击(在背景图像改变之前)就会看到警告。它显示了3次。您必须在多行字符串的每行末尾添加反斜杠“\”,才能使此脚本正常工作。感谢您的建议,但我在此处添加了换行符,以便代码可读。:)jQuery的版本号是多少?是1.3*?然后可以尝试使用
'backgroundImage'
而不是
'background-image'
。它是1.4.2。顺便说一下,我现在可以更改图像,但firefox在严格的javascript模式下仍然显示“引用未定义的属性”警告。
$("#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)');
})