【问题标题】:How to validate HTML content with multiple variables put inside a string如何使用放在字符串中的多个变量来验证 HTML 内容
【发布时间】:2020-08-04 05:17:27
【问题描述】:

我有下面的代码

issuesList.innerHTML += "<div class=\"well\">" +
        "<h6> Issue Id:" + id + "</h6" +
        "<p><span class=\"label label-info\">" + status + "</span></p>" +
        "<h3>" + desc + "</h3>" +
        "<p><span class=\"glyphicon glyphicon-time\">" + severity + "</span></p>" +
        "<p><span class=\"glyphicon glyphicon-user\">" + assignedTo + "</span></p>" +
        "<a href=\"#\"  onclick= \"setStatusClosed(\"" + id + "\")\"   class=\"btn btn-warning\">Close</a>" +
        "<a href=\"#\ onclick=\"deleteIssue( \"" + id + "\")\"  class=\"btn btn-danger\>Delete</a>" +
        "</div>";

我希望验证这是否是正确的 HTML 格式,因为它包含许多变量并且如果出现问题很难调试。

【问题讨论】:

  • 几乎任何字符串都是有效的 HTML,因为如果出现问题,浏览器将关闭标签并将属性显示为文本。如果你真的想检查,你可以把字符串放在一个隐藏的 div 中,然后查询它是否存在你希望在那里的元素/属性。

标签: javascript html


【解决方案1】:

为了降低复杂度,您可以使用单引号来包装类或样式声明,并使用双引号来包装整个 html(反之亦然)。

在这段 html 中,我观察到在&lt;/h6&gt; 结束时和最后一个锚标记的类声明中发出。

issuesList.innerHTML += "<div class='well'>" +
        "<h6> Issue Id:" + id + "</h6>" +
        "<p><span class='label label-info'>" + status + "</span></p>" +
        "<h3>" + desc + "</h3>" +
        "<p><span class='glyphicon glyphicon-time'>" + severity + "</span></p>" +
        "<p><span class='glyphicon glyphicon-user'>" + assignedTo + "</span></p>" +
        "<a href='#'  onclick= 'setStatusClosed(\"" + id + "\")'   class='btn btn-warning'>Close</a>" +
        "<a href='#' onclick='deleteIssue( \"" + id + "\")'  class='btn btn-danger'>Delete</a>" +
        "</div>";

您可以使用以下函数来验证这样创建的 html:

function validator(createdhtml) {
    var tempdiv = document.createElement('div');
    tempdiv.innerHTML = createdhtml;
    return tempdiv.innerHTML;
}

我进一步推荐阅读: check-if-html-snippet-is-valid

【讨论】:

猜你喜欢
  • 2021-06-27
  • 1970-01-01
  • 2013-07-15
  • 2018-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多