Javascript onclick未更新。即使在使用.onclick=";hideList();;

Javascript onclick未更新。即使在使用.onclick=";hideList();;,javascript,onclick,Javascript,Onclick,不会替换onclick的值。控制台窗口显示为未更改。 以下是javascript代码: function viewList(){ var c=document.querySelector(".list"); c.style.display= "block"; document.querySelector(".box").style.height="700px"; document.getElementById("btn").onclick="hideList()"; cons

不会替换onclick的值。控制台窗口显示为未更改。 以下是javascript代码:

function viewList(){
  var c=document.querySelector(".list");
  c.style.display= "block";
  document.querySelector(".box").style.height="700px";
  document.getElementById("btn").onclick="hideList()";
  console.log(document.getElementById("btn"));
}
function val(p){
  var i=document.getElementsByClassName("valued");
  var j=document.createAttribute("value");
  j.value=p.textContent;
  i[0].setAttributeNode(j);
}       
function hideList(){
  var c=document.querySelector(".list");
  c.style.display= "none";
  document.querySelector(".box").style.height="500px";
}
更新:

//This will set the method to a string
document.getElementById("btn").onclick="hideList()";

请添加您的HTML请创建一个。您还应该使用
.onclick=hideList谢谢。它成功了。但您能告诉document.getElementById(“btn”).onclick=“hideList()”吗;不起作用。毕竟这是一个函数,所以大括号是必要的吗?原因现在在主帖子中抱歉没有完全理解。将方法设置为字符串是什么意思?实际上这个“hideList()”并不是指函数hideList。它只是字母(字符串)的简单组合
//This will set the method to a string
document.getElementById("btn").onclick="hideList()";