SyntaxError:未终止的字符串文字

时间:2015-03-31 16:09:23

标签: javascript html5

您好我正在尝试从js。

加载我的html页面中的一些内容

js code(相关) -

for(i=0; i<4 && 4*i+j<data.response.length; i++)
                {
                    html += '<div class="grids_of_4">';
                    for(j=0; j<4 && 4*i+j<data.response.length; j++)
                    {
                        pi1 = data.response[4*i+j].p_image1;
                        pn = data.response[4*i+j].p_name;
                        pp = data.response[4*i+j].p_price;
                        pa = data.response[4*i+j].p_amount;
                        pid = data.response[4*i+j].p_id;
                        html += "<div class='grid1_of_4'>";
                        html += "<div class='content_box'>";
                        html += "<a href='details.html'>";
                        html += "<div class='view view-fifth'>";
        html += "<img src='/bokaroration/media/" + pi1 + " ' class='img-responsive' alt=''/" + ">";
        html += "<div class='mask'>";
        html += "<div class='info'>Quick View</div></div></a></div>";
        html += "<h4><a href='details.html'> " + pn + "</a></h4>";
        html += "<strike>Rs. " + pp + "</strike>    Rs." + pa;
        html += "<input type='number' id='" + pid + "' min='0' max='100'/" + ">";
        html += "<button type='button' style='margin:5px' class='btn btn-sm btn-success' onclick=add(" + pa + ",'" + pid + "','" + pn + "')"
        html += ">+</button>";
        html += "</div></div>";
                    }
                    html += "</div>";
                    alert(html);
                }

并且它正确警报但是当我点击按钮时它会出错 -

SyntaxError: unterminated string literal 

当我检查检查元素时,我在按钮标签中发现了问题 -

<button class="btn btn-sm btn-success" rice')="" gate="" onclick="add(180,'qhfghds.;k[','India" style="margin:5px" type="button">

    +

</button>

我不知道为什么会这样。

有人请帮帮我。

提前致谢。

1 个答案:

答案 0 :(得分:1)

简短的回答是:因为你是通过将字符串拼凑在一起构建HTML。

您已获得由'个字符分隔的HTML属性值。在该值内,您放置'而不转义它(&#34;)。由于它没有被转义,它会终止属性值。

使用DOM(createElementsetAttributeappendChild等)。