HTML 串联语法错误:意外的标识符

html concatenation syntax error: unexpected identifier

本文关键字:意外 标识符 错误 语法 HTML      更新时间:2023-09-26

我正在尝试在变量中连接html。我能够在没有任何语法错误的情况下成功地做到这一点

htmlstr = "";
htmlstr += "<p>some paragraph";
htmlstr += "<p>another paragraph </p>";
$(list).html(htmlstr);

但是当我尝试这样做时

htmlstr = "";
htmlstr += "<button class="first"></button>";
htmlstr += "<button class="second"></button>";
$(list).html(htmlstr);

我收到错误"未捕获的语法错误:来自浏览器的意外标识符。我这样做是不是错了?

你的代码

 htmlstr += "<button class="first"></button>";
            ^ string       ^ var ^ string   ^    

在你的代码中firstvariable所以你得到错误而不是string

正确的方式

 htmlstr += '<button class="first"></button>';
            ^                               ^  //changed to single quotes
 htmlstr += '<button class="second"></button>';

在当前代码中,引号终止字符串文本。您需要切换或转义引号:

htmlstr += '<button class="first"></button>';

htmlstr += "<button class='"first'"></button>";

使用"+"连接变量和文本

htmlstr = "";
htmlstr += "<button class="+first+"></button>";
htmlstr += "<button class="+second+"></button>";
$(list).html(htmlstr);

或者如果你没有变量,只有双倍和简单的引号

htmlstr = "";
htmlstr += "<button class='first'></button>";
htmlstr += "<button class='second'></button>";
$(list).html(htmlstr);

不使用"使用 ' 作为属性的值试试这个:

                htmlstr = "";
                htmlstr += "<button class='first'></button>";
                htmlstr += "<button class='second'></button>";
       htmlstr = "";
        htmlstr += "<button class='first'></button>";
        htmlstr += "<button class='second'></button>";
        $(list).html(htmlstr);

您不能在 " 中使用"。请改用'。第二个(嵌入的)"将被视为该字符串的结束标记,但事实并非如此。它是该字符串的一部分。因此,只需使用替代(但同样有用)'.

问题是你没有转义类属性值周围的引号。我的建议是用单引号括住字符串,以消除转义双引号的需要:

        htmlstr = '';
        htmlstr += '<button class="first"></button>';
        htmlstr += '<button class="second"></button>';
        $(list).html(htmlstr);

如果第一个和第二个是变量,那么你按照Donovan Charpin所说的去做。但是,如果它是类的名称,您可以尝试以下操作:

    htmlstr = "";
    htmlstr += "<button class='first'></button>";
    htmlstr += "<button class='second'></button";
    $(list).html(htmlstr);

没有意识到有人打败了我。