为什么在尝试向InnerHTML中的span元素添加id时会出现错误?

时间:2015-09-17 19:57:31

标签: javascript html

我的网站在此代码中因此错误而崩溃...为什么?

      TextElement.innerHTML = "<span id="ID"> text </span>"
  

错误:未捕获的SyntaxError:意外的标识符

如果我删除了ID,它就可以正常工作......

      TextElement.innerHTML = "<span> text </span>"

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:3)

您需要在双引号内使用单引号。当您使用ID周围的双重

时,您正在转义引号
User: Ember.inject.service('user');

答案 1 :(得分:1)

当你写"<span id="ID"> text </span>"时,它将被解释为:

string: "<span id="
and code: ID
and string: "> text </span>"

现在,显然这没有任何意义。该句子未正确终止且ID不是有效的JavaScript代码。

您需要正确打开和结束字符串。为此,您有以下几种选择:

1- HTML和JavaScript都可以接受字符串值的单引号或双引号。您可以通过在字符串中使用不同的引号来利用这一事实,因此您可以在双引号内使用单引号,反之亦然。以下两行是等效的:

TextElement.innerHTML = "<span id='ID'> text </span>";
TextElement.innerHTML = '<span id="ID"> text </span>';

2-不推荐这样做,但是HTML不需要包含没有空格的值的引号,因此您可以使用:

TextElement.innerHTML = "<span id=ID> text </span>"; //NOT RECOMMENDED

3-您可以使用转义字符\隐藏JavaScript中的引号:

TextElement.innerHTML = "<span id=\"ID\"> text </span>";