当他们点击 THEATER 时,它应该更改为 NORMAL 并带有新功能
示例来自:
<div id="links">
<a onClick="refreshStream()" onmouseover="color:red;" style="cursor: pointer;" draggable="false" oncontextmenu="return false;"> REFRESH</a>
<a onClick="TheaterMode()" onmouseover="color:red;" style="cursor: pointer;" draggable="false" oncontextmenu="return false;"> THEATER</a>
</div>
收件人:
<div id="links">
<a onClick="refreshStream()" onmouseover="color:red;" style="cursor: pointer;" draggable="false" oncontextmenu="return false;"> REFRESH</a>
<a onClick="normalsize()" onmouseover="color:red;" style="cursor: pointer;" draggable="false" oncontextmenu="return false;"> NORMAL</a>";
</div>
我试过了,但没用,希望有人能帮忙,谢谢。
<script>
document.getElementById("links").innerHTML = "<a onClick="refreshStream()" onmouseover="color:red;" style="cursor: pointer;" draggable="false" oncontextmenu="return false;"> REFRESH</a><a onClick="normalsize()" onmouseover="color:red;" style="cursor: pointer;" draggable="false" oncontextmenu="return false;"> NORMAL</a>";
</script>
最佳答案
我稍微简化了您的示例。基本上,您需要用单引号将要在 .innerHTML = ...
中分配的 html 括起来,或者使用 \
转义引号。
简化示例:
// escape quotes with backslash
function theaterMode() {
document.getElementById("links").innerHTML = "<a onclick=\"refreshStream()\" style=\"cursor: pointer;\"> REFRESH</a><a onclick=\"normalSize()\" style=\"cursor: pointer;\"> NORMAL</a>";
}
// or wrap HTML with single quotes
function normalSize() {
document.getElementById("links").innerHTML = '<a onclick="refreshStream()" style="cursor: pointer;"> REFRESH</a><a onclick="theaterMode()" style="cursor: pointer;"> THEATER</a>';
}
function refreshStream() {
document.getElementById("links").innerHTML = "<a onclick=\"refreshStream()\" style=\"cursor: pointer;\"> REFRESH</a><a onclick=\"normalSize()\" style=\"cursor: pointer;\"> NORMAL</a>";
}
<div id="links">
<a onclick="refreshStream()" style="cursor: pointer;"> REFRESH</a>
<a onclick="theaterMode()" style="cursor: pointer;"> THEATER</a>
</div>
有更简洁的方法可以做到这一点,如果您只是更改第二个链接的功能,那么就没有理由继续更新第一个链接。
希望对您有所帮助。
关于Javascript onclick 替换 div 内容的整个内部 html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33093676/