Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.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 字符串中的斜杠在HTML文件中消失_Javascript_Jquery_Html_String - Fatal编程技术网

Javascript 字符串中的斜杠在HTML文件中消失

Javascript 字符串中的斜杠在HTML文件中消失,javascript,jquery,html,string,Javascript,Jquery,Html,String,显示一个图像(虽然它不再是我想要它做的,但是斜线符号在那里) 知道怎么办吗?谢谢 编辑: 对于类thumb,我有以下CSS: table += "<img class='thumb' style='background-image: url('images/video_icons/" + videos[i]["Thumbnail Title"] + "');'></img>" 这里还有一个fiddle(没有javascript):image元素有两个必需的属性

显示一个图像(虽然它不再是我想要它做的,但是斜线符号在那里)

知道怎么办吗?谢谢


编辑:
对于类
thumb
,我有以下CSS:

    table += "<img class='thumb' style='background-image: url('images/video_icons/" + videos[i]["Thumbnail Title"] + "');'></img>"

这里还有一个fiddle(没有javascript):

image元素有两个必需的属性,“src”和“alt”。 其中,“alt”是在找不到图像时显示的替代文本,“src”是图像的url。 您没有使用这些属性中的任何一个。 因为我在样式属性中没有看到任何其他内容,所以应该像在第二个代码示例中那样使用'src'属性


你有,你很困惑。具体区域位于
style='background-image:url('images/video_icons/“+videos[i][“缩略图标题”]+”);'。属性中有单引号,其值已在单引号中。您可以对它们进行转义,也可以删除它们,因为url不需要它们

更改为:

    table += "<img class='thumb' src='images/video_icons/" + videos[i]["Thumbnail Title"] + "'></img>"
“”
致:

“”
逃逸是(最大的)问题(正如Daniel Gimenez在我键入此答案时已经指出的),但请阅读下面的编辑

您的第一个字符串将呈现以下(显然)无效HTML(请注意嵌套的
字符、结束标记以及缺少
src
属性):

然后在javascript中,您可以选择
字符来包装字符串;这样,只有2个(而不是4个)字符需要转义

请注意,虽然您通常可以省略,但当这不起作用时,您必须知道例外情况,因此使用引号是最安全的,然后您不需要记住任何东西(使其成为一种防错和一致的编码风格)

现在让我们包装并转义该字符串(对于javascript):

现在,让我们用您的
视频[i][“缩略图标题”]
替换
(在这种情况下,使用
调用
缩略图标题
属性并不重要):

希望这对将来有所帮助


编辑:

Stefan Koenen对图像缺少的
src
属性有一个很好的观点。

src
(和
alt
)中,需要
。在中,只有
src
是强制性的(并且必须有效),而
alt
属性是有争议的。
除了这些RUE之外,为了实现跨浏览器兼容性,作者选择了以下两种常见解决方案中的一种:

  • 使用
    div

    (在这种情况下,似乎最合适的解决方案不是图像)
  • 将图像的
    src
    属性设置为1*1px的透明gif。
    (还需要加载“成本”额外图像)

  • 将单引号切换为双引号,将双引号切换为单引号……我曾经遇到过一个与您类似的问题,这就解决了它。我认为double与single在标记方面存在歧义,不确定是否要upvote:,但问题是src属性,正如您所确定的那样..thumb{display:inline block;width:200px;height:100px;margin:5px;background position:center-center;background size:cover;}是样式属性;它在小提琴中工作,如下所示:
    .thumb { display: inline-block; 
             width: 200px; 
             height: 100px;  
             margin: 5px;  
             background-position: center center;  
             background-size: cover;  
    } 
    
     "<img class='thumb' style='background-image: url('images/video_icons/" + videos[i]["Thumbnail Title"] + "');'></img>"
    
     "<img class='thumb' style='background-image: url(images/video_icons/" + videos[i]["Thumbnail Title"] + ");'></img>"
    
    <img class='thumb' style='background-image: url('images/video_icons/moo.png');'></img>
    
    <img class='thumb' style='background-image: url("images/video_icons/moo.png");'>
    
    "<img class='thumb' style='background-image: url(\"images/video_icons/moo.png\");'>"
    
    "<img class='thumb' style='background-image: url(\"images/video_icons/" + ? + "\");'>"
    
    "<img class='thumb' style='background-image: url(\"images/video_icons/" + videos[i]["Thumbnail Title"] + "\");'>"
    
    table += "<img class='thumb' style='background-image: url(\"images/video_icons/" + videos[i]["Thumbnail Title"] + "\");'>";