当前位置: 首页 > 面试题库 >

CSS和JQuery:图片名称中的空格会破坏url()的代码

康元凯
2023-03-14
问题内容

我有一个页面,当将鼠标悬停在缩略图上时,该页面应该显示较大版本的图像。

我有一个带有ID的’div’,JQuery代码如下:

$(document).ready(function(){

  $('img').hover(function() {

    var src = $("#im" + this.id).attr("src");
    $('#viewlarge').css('backgroundImage','url(' + src +')'); 
    return false;
  });

});

我使用的图像是由Ruby脚本生成的,该脚本“生成”具有相似但不同ID的图像。但是,有时上传的照片内部带有“空格”。我的开发人员工具告诉我,背景图像设置不正确,但是图像路径正确,浏览器在查找图像时没有问题。

我的问题是,我可以以某种方式清除url’src’,这样空格就不会成为问题了吗?我知道要在服务器端进行此操作,但是我也想知道如何使用JQuery /
JS进行此操作。

谢谢!


问题答案:

URI中的空格无效。它们需要编码为%20

您可以src.replace(/ /g, '%20')(或更一般而言)encodeURI(src)%URI中无效的所有字符进行编码。encodeURIComponent(src)更为常见,但只有在src相对文件名唯一的情况下才有效;否则,它将编码/并停止路径。

但是, 真正的问题 是,原始文件img src已经损坏,并且只能通过浏览器修复程序来更正错误才能正常工作。您需要修复生成页面的Ruby脚本。在将文件名包含在路径中之前,应先对其进行URL编码。除了空格以外,还有更多会导致问题的字符。

正如Pekka所说,您还应该在url(...)值中的URL周围使用引号。尽管您可以不用许多URL来摆脱它们,但必须对某些字符进行\转义。使用双引号意味着您可以避免这种情况(URL本身不能出现双引号)。



 类似资料:
  • 我面临的问题是稳定样式在我的html页面。每当我使用datepicker(jqmobile UI datepicker)时,外观和感觉都会受到严重影响。页眉上的图标、关闭对话框的图标、下拉列表中的类型图标都将消失。 这是我的标题部分, 如果我注释掉这行: link rel=“stylesheet”href=“//code.jquery.com/ui/1.10.4/themes/smoothness

  • 问题内容: 我数据库中的列名称之一是两个字长,包括一个空格,即:。我正在使用SELECT并引用列名称来提取所需的数据。现在,如果我将该列命名,则我的SELECT可以工作,但如果使用,则不能。它说 “字段列表”中的“未知”列“区域” 有想法吗? 问题答案: 使用反引号。

  • 问题内容: 最近将grails项目升级到了2.3.7,并将插件更新到了最新版本,从而将Resources插件升级到了1.2.7。这在Grails 2.1.2和资源插件1.2RC3上可以很好地工作,但现在还不能: 每当我有一个CSS文件通过这样的URL引用某些内容时 在网页上,它会导致此错误(它在URL的前面保留了“ resource:/”) GET资源:/img/uniform-assets/ch

  • 本文向大家介绍jQuery+css实现的切换图片功能代码,包括了jQuery+css实现的切换图片功能代码的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery+css实现的切换图片功能代码。分享给大家供大家参考,具体如下: 运行效果截图如下: 具体代码如下: 更多关于jQuery特效相关内容感兴趣的读者可查看本站专题:《jQuery常见经典特效汇总》及《jQuery动画与特效用法总

  • 问题内容: 我在页面上添加了一个简单的文件,该文件在和原型中添加了一些非常普通的常见任务功能。 经过反复试验,我发现向,添加任何函数,无论其名称或功能如何都会导致jQuery中的Javascript错误: 罪魁祸首? 我在attr:function {}声明中得到的第1056行的错误: 显然G.replace是未定义的。 很明显,有些事情我只是没有用原型制作而已,但我很痛苦地未能弄清楚它是什么。

  • 成功登录后,我将保存会话变量。 当用户转到应用程序中的不同页面时,会话就消失了,即使我没有显式地销毁会话。我该怎么解决这个问题? 这是一个会话似乎消失的页面。 在中,我有会话开始方法。