gpt4 book ai didi

javascript - 使用 JavaScript 切换文本

转载 作者:行者123 更新时间:2023-11-30 12:50:01 25 4
gpt4 key购买 nike

我正在学习 JavaScript。我正在尝试使用 replaceChild() 方法切换页面上的文本。我想出了下面的代码。我不明白为什么它不起作用。请帮忙。

<html>
<head>

<script>
function toggleText() {
var be= document.getElementById("main");
var b4= be.getElementsByTagName("h1");
var l8 = document.createElement("h1").innerHTML="After";
var l88 = document.createElement("h1").innerHTML="Before";
if (b4[0].innerHTML=="Before"){
be.replaceChild(l8,b4[0])
}
if (b4[0].innerHTML=="After") {
be.replaceChild(l88,b4[0]);
}
}
</script>

</head>
<body>
<div id="main" onclick="toggleText()">
<h1>Before</h1>
</div>
</body>
</html>

最佳答案

正如 CBrone 所写,您必须先创建 h1 实例,将其存储到变量中,然后对该变量调用 innerHML。

另一个问题是if结构。首先替换元素,然后测试同一元​​素的另一个条件并执行另一个操作。在这种情况下,最好使用 if ... else if ... 语句而不是 if ... if ...,这是问题的根源。

这是工作 toggleText 功能

function toggleText() {
var be= document.getElementById("main");
var b4= be.getElementsByTagName("h1");
var l8 = document.createElement("h1");
l8.innerHTML="After";
var l88 = document.createElement("h1");
l88.innerHTML="Before";
if (b4[0].innerHTML == "Before")
{
be.replaceChild(l8, b4[0]);
}
else if (b4[0].innerHTML=="After")
{
be.replaceChild(l88, b4[0]);
}
}

这里正在工作fiddle

关于javascript - 使用 JavaScript 切换文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21286821/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com