javascript - 语法错误: unterminated string literal

标签 javascript html

您好,我正在尝试从 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(createElementsetAttributeappendChild 等)。

关于javascript - 语法错误: unterminated string literal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29373310/

相关文章:

javascript - ReactJS,如何从 CHILD 更新 PARENT 的状态

Javascript 在 mailto 正文中添加换行符

python - 真实的页面内容不是我通过 Requests 和 BeautifulSoup 得到的

方法中的 JavaScript 变量修改对象的属性?

javascript - 设置元素的 style.backgroundColor 在 IE8 中不起作用?

javascript - ember-cli 在哪里放置图像

javascript - 带有mysql的php中的php代码中的 bool 错误

javascript - CWSpear 的悬停下拉菜单准备好了吗(requirejs)?

javascript - css 过渡不透明度在元素显示 :none then changed to display:block 的地方不起作用

html - 客户端看到不同版本的页面。居中问题