4 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超9個(gè)贊
首先你的結(jié)束語有一個(gè)錯(cuò)字<script>
,漏掉了/
,應(yīng)該是</script>
。然后你的腳本在 DOM 完全加載之前運(yùn)行。您可以將腳本放在body標(biāo)記的底部,也可以使用事件包裝代碼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貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個(gè)贊
你的代碼運(yùn)行良好。您忘記指定標(biāo)簽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貢獻(xiàn)1893條經(jīng)驗(yàn) 獲得超10個(gè)贊
您應(yīng)該使用setAttribute(atr, value);
類似的方法document.getElementById("buylink").setAttribute("href", "fancy_tickets.html");
。另外我建議您使用 addEventListener 來監(jiān)聽 onClick 等事件
const upgradeBtn = document.getElementById("upgrade");
const buyLink = document.getElementById("buylink");
upgradeBtn.addEventListener('click', () => {
? ?buyLink.setAttribute("href", "fancy_tickets.html");
});

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊
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>
添加回答
舉報(bào)