javascript - 使用 JavaScript 切换文本

标签 javascript

我正在学习 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/

相关文章:

javascript - 使用 jQuery/Javascript 自动将数据填充到字段中

javascript - 如何合并两个 javascript 对象/变量

javascript - 在 YouTube 视频上单击鼠标静音/取消静音

javascript - 将 wordpress 中的样式表和脚本与 functions.php 链接起来

javascript - 返回数组内对象的值

javascript - 为 JSON 创建嵌套对象

javascript - ng 路线不工作指令

javascript - Firefox 扩展首选项窗口 onsynctoperence 按钮

c# - Asp.net 自动阻止任何类似于 html 代码的输入

javascript - Jquery Mobile 中 .mobile.loadPage 和外部页面的问题