动态更改背景url / image src的错误

时间:2011-10-07 04:15:56

标签: javascript jquery css

我正在动态更改background:url('image-file') or img's src并按照我的预期进行操作,但是当文件在名称之间有空格时,我会遇到一个问题。 file name.gif (Not loading) or file-name.gif (load successfully)

  var file-src = ../context/image file.jpg  /*not changing */
              /* ../context/image-file.jpg : changes   */

 if(this.is('img')){   /* 'this' is selecter */
    this.attr('src', file_src);
    }else{
    this.css('background','url('+ file_src +')');
    }

至于我不太清楚为什么这些文件没有加载,我只是尽力找出原因,但我想知道是否还有其他原因。

2 个答案:

答案 0 :(得分:1)

您应该按引用覆盖文件名。您的代码应更改为:

var file-src = '../context/image file.jpg';

this.css('background',"url('"+ file_src + "')");

答案 1 :(得分:0)

网址中不能包含空格。空格应以%20表示。您可以使用encodeURI function正确编码特殊字符。

由于必须引用字符串,因此您的javascript看起来也不正确,但我认为这只是发布时的快捷方式。