您好,我正在尝试从 js 加载 html 页面中的一些内容。
js代码(相关)-
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>
我不知道为什么会这样。
请有人帮助我。
提前致谢。
最佳答案
简短的回答是:因为您是通过将字符串混合在一起来构建 HTML。
您有一个由 '
字符分隔的 HTML 属性值。在该值内,您将放置一个 '
而不转义它(如 "
)。由于它没有转义,因此它终止属性值。
改用 DOM(createElement
、setAttribute
、appendChild
等)。
关于javascript - 语法错误: unterminated string literal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29373310/