您好我正在尝试从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>
我不知道为什么会这样。
有人请帮帮我。
提前致谢。
答案 0 :(得分:1)
简短的回答是:因为你是通过将字符串拼凑在一起构建HTML。
您已获得由'
个字符分隔的HTML属性值。在该值内,您放置'
而不转义它("
)。由于它没有被转义,它会终止属性值。
使用DOM(createElement
,setAttribute
,appendChild
等)。