预期的表达式,脚本结束

Expected expression, got end of script

本文关键字:脚本 结束 表达式      更新时间:2023-09-26

所以我在网页的标题中有以下代码:

<script type="text/javascript">
var counter = 2;
function addNewItemField(divName) {
  var newDiv = document.createElement("div");
  newDiv.id = "item_listing_" + counter;
  newDiv.innerHTML  = "<label for='"item_" + counter + "'">Item: </label><br />";
  newDiv.innerHTML += "<input type='"text'" id='"item_" + counter + "_category'" list='"list_categories'" name='"items[]'">";
  newDiv.innerHTML += "<input type='"number'" id='"item_" + counter + "_amount'" mine='"0.00'" step='"0.01'" value='"0.00'" name='"amounts[]'"><br />";
  document.getElementById(divName).appendChild(newDiv);
  counter++;
}
</script>

尝试使用按钮调用它,但是我总是收到一个语法错误,指出"预期的表达式,脚本结束"。

我已经

通过 Linter 运行了它,它没有发现任何错误,我已经检查了一百次,但我找不到错误在哪里。我讨厌只是发布代码并问"为什么这不起作用?"但我不知道发生了什么,所以我甚至不知道如何为它提出一个适当的问题。

更新

下面是进行函数调用的页面下方的相关 HTML 部分,并且正在操作的部分驻留:

<div id="item_listings">
  <div id="item_listing_1">
    <label for="item_1">Item: </label><br />
      <input type="text" id="item_1_category" list="list_categories" name="items[]">
      <input type="number" id="item_1_amount" min="0.00" step="0.01" value="0.00" name="amounts[]"><br />
  </div>
</div>
<br />
<input id= "add_new_item" type="button" onClick="javascript:addNewItemField("item_listings")" value="Add Another Item">')
onClick="javascript:addNewItemField("item_listings")"充满了

错误。

您不能以这种方式混合搭配双引号。您需要在双引号中使用单引号,或者您只是提前停止 HTML 元素的属性。

现在,这解析为

<input id= "add_new_item" type="button" onClick="javascript:addNewItemField("

。后面跟着一堆垃圾。

您需要使用单引号:

<input id= "add_new_item" type="button" onClick="javascript:addNewItemField('item_listings')" value="Add Another Item">