下面是我爲一個簡單的基於文本的遊戲編寫代碼,但我無法理解爲什麼第一次用超鏈接'link1'調用我的函數時,它可以工作,但是當我添加另一個鏈接到我的HTML文檔使用JavaScript,並嘗試調用另一個函數onclick該鏈接,它不起作用。有人可以解釋嗎?在html中第二次調用javascript函數
var getupvar = document.getElementById("attack");
getupvar.onclick = attack;
function attack() {
$('<p> Some text </p>').insertBefore("#placeHolder");
$('<a href="#" id="defend">link2</a>').insertBefore("#placeHolder");
}
var link2event = document.getElementById("defend");
link2event.onclick = defend;
function defend() {
alert("working now");
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="console">
<p id="startGameMessage"></p>
<div id="gameArea">
<p id="gameMessage">Some Text</p>
<a href="#" id="attack">link1</a>
<div id="placeHolder"></div>
</div>
</div>
'id's在文檔中必須是唯一的。 – Teemu
除了ID需要唯一之外,您還試圖在「defend」元素存在之前綁定到它。 –