首页 > 解决方案 > 如何交换标题标签的内容 - HTML/Javascript

问题描述

我有以下内容:

function changeFirst() {
  let p = document.getElementById("firstElement")[0].innerhtml;
  alert(p);
  if (p = "<h1>This is the 1st element</h1>") {
    document.getElementById("firstElement").innerHTML = "<h1>Changed first</h1>"
  } else {
    document.getElementById("firstElement").innerHTML = "<h1>Switched back first</h1>"
  }
}
<div id="firstElement">
  <h1>This is the 1st element</h1>
</div>

<button onclick="changeFirst()">Change first element</button>

我基本上希望按钮交替firstElementdiv 的内容。为什么这不起作用?

谢谢

标签: javascripthtml

解决方案


这正是您所要求的。你很亲密。

1)当包含javascript时,你可以只使用脚本标签,它会正常工作,当你使用JSON或JQuery时,那就是你必须使用.js文件的包含标签的时候。javascript 代码可以用 script type = text/javascript 来表示。

2)在javascript中进行比较时:使用三个等号(===)

进行非变量类型敏感比较时:使用两个等号 (==)

设置变量时:使用一个等号 (=)

https://www.geeksforgeeks.org/difference-between-and-operator-in-javascript/

3)调用动态表头时,它不是数组,所以不需要[0],只是比较动态表头div的innerhtml,它只有一个表头,数组是多事的。继续编写代码,因为您似乎有一个良好的开端,并且犯了一些小的语法错误。

<!DOCTYPE html>
<html>

<body>

  <button onclick="changeHeader()">Click me</button>

  <div id="dynamicHeader"><h1>Hello World</h1></div>

  <p>Clicking the button changes the header.</p>

  <script>
    function changeHeader() {
      if (document.getElementById("dynamicHeader").innerHTML === "<h1>Hello World</h1>") {
        document.getElementById("dynamicHeader").innerHTML = "<h1>Goodbye World</h1>";
      } else {
        document.getElementById("dynamicHeader").innerHTML = "<h1>Hello World</h1>"
      }
    }
  </script>
</body>

</html>

推荐阅读