奇怪的JS代码渲染

时间:2013-01-10 19:12:33

标签: javascript css

我有这段代码

cuthtml += '<div style="background-image:url("'+response.images[ii].attachment_image_src+'"); background-position:center center; background-size:cover" class="cut-image6" data-id="'+data_id+'" image-id="'+image_id+'" post-author="'+post_author+'">';

但是当它被渲染时,就会出现这样的结果:

<div class="cut-image6" post-author="33073" image-id="162015" data-id="4" background-size:cover"="" center;="" background-position:center="" me_1352171624-200x200.jpg");="" bangstyle="" uploads="" wp-content="" www.bangstyle.com="" http:="" style="background-image:url(">

不确定为什么我会得到负面投票......

不应破坏正确的代码。我想知道为什么它会像那样爆发。我需要逃避什么吗?

2 个答案:

答案 0 :(得分:7)

看起来你的问题在这里:

style="background-image:url("'+response.images[ii].attachment_image_src+'");

渲染完成后,您的元素将如下所示:

<div style="background-image:url("/some/url");"></div>

如您所见,嵌套的双引号会导致一些问题。相反,请使用转义单引号:

style="background-image:url(\''+response.images[ii].attachment_image_src+'\'); ...

答案 1 :(得分:4)

尝试使用:
v

cuthtml += '<div style="background-image:url(\''+response.images[ii].attachment_image_src+'\'); background-position:center center; background-size:cover" class="cut-image6" data-id="'+data_id+'" image-id="'+image_id+'" post-author="'+post_author+'">';

使用\'而不是箭头指向的"