点击图像时出错:意外令牌}

Error when clicking image: Unexpected Token }

本文关键字:意外 令牌 出错 图像      更新时间:2023-09-26

我有一个图像,应该在点击它时运行一个函数,但由于一个奇怪的原因,我得到了错误"意外令牌}"。这是我的代码:HTML:

  <img src='images/buildings/house_3.png' onClick='selectbuilding('house');'>
Javascript:

function selectbuilding(whichbuilding)
{
    building = whichbuilding;
    buildingselected = 1;
    if (building == "house") {
        document.getElementById('maparea').innerHTML="<form method='post'><h2>Base</h2><input id='button' type='button' name='button' onclick='myFunction();' value='Close'/><input id='button' type='button' name='button' onclick='checkelement();' value='Upgrade Base'/></form>";
    }
    if (building == "wood") {
        document.getElementById('maparea').innerHTML="<form method='post'><h2>Wood</h2><input id='button' type='button' name='button' onclick='myFunction();' value='Close'/><input id='button' type='button' name='button' onclick='checkelement();' value='Upgrade Wood'/></form>";
    }
    else {
document.getElementById('selectbuilding').innerHTML="<img src='images/buildings/" + building + "_3.png'>";
    }
}

请帮忙!

查看HTML,特别是属性值。解析器如何知道属性值结束于第四个',而不是第二个?它不能。

你写的代码相当于

<img onClick='selectbuilding(' />

在内部创建类似

的内容
function handler(event) {
    selectbuilding(
}

显然不是有效的JavaScript。对函数参数或属性值使用双引号