使用函数添加样式

Using a function to add a style

我使用的是我通常用来使函数工作的相同东西,但出于某种原因它说 "Cannot read property 'add' of undefined" 我已经尝试了我所知道的一切。

<input type=button id=b1 value="start" onclick=abc()>
<script>
function abc() {
document.getElementById("p2").classlist.add("hidden")
document.getElementById("pic1").classlist.remove('hidden')
document.getElementById("p1").classlist.add("hidden")
window.setimeout(sub1, 1000)
}
</script>

classlist 应该是 classList。另外,如果你有 setimeout,那应该是 setTimeout。最后,您在输入元素的 属性 值周围缺少一些引号,并且在您的各个语句末尾缺少分号。

div {
  border: 1px solid #000;
  margin: 1rem 0;
  padding: .5rem;
}

.hidden {
  display: none;
}
<input type="button" id="b1" value="start" onclick="abc()">
<script>
  function abc() {
    document.getElementById("p2").classList.add("hidden");
    document.getElementById("pic1").classList.remove("hidden");
    document.getElementById("p1").classList.add("hidden");
    window.setTimeout(sub1, 1000);
  }
  
  function sub1() {
    console.log("called!");
  }
</script>

<div id="p2">This is the p2 div</div>
<div id="pic1" class="hidden">This is the pic1 div</div>
<div id="p1">This is the p1 div</div>