Javascript 在附加一堆Html时遇到问题

Javascript 在附加一堆Html时遇到问题,javascript,jquery,Javascript,Jquery,我在添加大量html时遇到问题 这就是我所拥有的: $("#popup1").click(function(){ $(".cd-popup-container").append("<p>Are you sure you want to decline this employement request?</p>"); $(".cd-popup-container").append("<form id='accept_employe' a

我在添加大量html时遇到问题

这就是我所拥有的:

$("#popup1").click(function(){
        $(".cd-popup-container").append("<p>Are you sure you want to decline this employement request?</p>");
        $(".cd-popup-container").append("<form id='accept_employe' action='/accept_employe' method='post' accept-charset='utf-8'>");
        $(".cd-popup-container").append("<ul class='cd-buttons no_margin'>");
        $(".cd-popup-container").append("<li><a class='submit'>Yes</a></li>");
        $(".cd-popup-container").append("<li><a class='popup-close'>No</a></li>");
        $(".cd-popup-container").append("</ul>");
        $(".cd-popup-container").append("</form>");
        $(".cd-popup-container").append("<a class=cd-popup-close popup-close img-replace>Close</a>");
    });
$(“#popup1”)。单击(函数(){
$(“.cd popup container”).append(“您确定要拒绝此雇用请求吗?

”); $(“.cd弹出式容器”)。追加(“”); $(“.cd弹出式容器”).append(“
    ”); $(“.cd弹出式容器”)。追加(“
  • 是”
  • ”; $(“.cd弹出式容器”).append(
  • No
  • ”; $(“.cd弹出式容器”).append(“
”); $(“.cd弹出式容器”)。追加(“”); $(“.cd弹出式容器”).append(“关闭”); });
显然,许多附件将不起作用,因为它只会得到第一个附件。然而,当我把它放在同一条线上时,它也不起作用

我如何才能清楚地将所有这些html附加到.cd弹出式容器中?

是的,您可以(而且应该)让它更干净,更易于维护。例如,使用字符串数组和通过空字符串连接:

$("#popup1").click(function() {
    var html = [
        "<p>Are you sure you want to decline this employement request?</p>",
        "<form id='accept_employe' action='/accept_employe' method='post' accept-charset='utf-8'>",
            "<ul class='cd-buttons no_margin'>",
                "<li><a class='submit'>Yes</a></li>",
                "<li><a class='popup-close'>No</a></li>",
            "</ul>",
        "</form>",
        "<a class=cd-popup-close popup-close img-replace>Close</a>"
    ].join('');
    $(".cd-popup-container").append(html);
});
$(“#popup1”)。单击(函数(){
变量html=[
“您确定要拒绝此雇用请求吗?

”, "", “
    ”, “
  • ”, “
  • ”, “
”, "", “结束” ].加入(“”); $(“.cd弹出式容器”).append(html); });

当然,不管您将采用什么方法,我发布的方法还是更传统的字符串连接方法,重要的是您不会执行许多重复的DOM附加,而是将它们组合成一个整体

您可以通过在每行末尾添加一个
+
来使用一个
附加
函数(最后一行除外):

$(“#popup1”)。单击(函数(){
$(“.cd弹出式容器”).append(
“您确定要拒绝此雇用请求吗?

”+ "" + “
    ”+ “
  • 你忘了在”
      (html的第三行)后面加一个逗号。
      $("#popup1").click(function(){
          $(".cd-popup-container").append(
              "<p>Are you sure you want to decline this employement request?</p>" +
              "<form id='accept_employe' action='/accept_employe' method='post' accept-charset='utf-8'>" +
                  "<ul class='cd-buttons no_margin'>" +
                      "<li><a class='submit'>Yes</a></li>" +
                      "<li><a class='popup-close'>No</a></li>" +
                  "</ul>" +
              "</form>" +
              "<a class=cd-popup-close popup-close img-replace>Close</a>"
          );
      });