4 回答

TA貢獻1829條經驗 獲得超9個贊
首先你的結束語有一個錯字<script>
,漏掉了/
,應該是</script>
。然后你的腳本在 DOM 完全加載之前運行。您可以將腳本放在body標記的底部,也可以使用事件包裝代碼DOMContentLoaded
:
<script>
? window.addEventListener('DOMContentLoaded', (event) => {
? ? document.getElementById("upgrade").onclick = function () {
? ? ? var el = document.getElementById("buylink");
? ? ? el.href = "fancy_tickets.html";
? ? ? console.log(el.getAttribute('href'));// log the new href value
? ? };
? });
</script>
<a id="buylink" href="ticket.html">Buy Tickets</a><br>
<button id="upgrade">Upgrade</button>

TA貢獻1864條經驗 獲得超6個贊
你的代碼運行良好。您忘記指定標簽id="upgrade"的屬性button。
document.getElementById("upgrade").onclick = function () {
document.getElementById("buylink").href = "fancy_tickets.html";
};
<a id="buylink" href="tickets.html">Buy Tickets</a><br>
<button id="upgrade">Upgrade</button>

TA貢獻1893條經驗 獲得超10個贊
您應該使用setAttribute(atr, value);
類似的方法document.getElementById("buylink").setAttribute("href", "fancy_tickets.html");
。另外我建議您使用 addEventListener 來監聽 onClick 等事件
const upgradeBtn = document.getElementById("upgrade");
const buyLink = document.getElementById("buylink");
upgradeBtn.addEventListener('click', () => {
? ?buyLink.setAttribute("href", "fancy_tickets.html");
});

TA貢獻1801條經驗 獲得超16個贊
function switch1()
{ document.getElementById("buylink").href = "fancy_tickets.html";
}
<html>
<body>
<a target=_blank id="buylink" href="tickets.html">Buy Tickets</a><br>
<button id="upgrade" onclick="javascript:switch1();">Upgrade</button>
</body>
</html>
添加回答
舉報