Javascript onclick属性与脚本中的onclick
为什么不同 document.getElementById('click')。onclick=a.replaceChild(c,b)--在我不单击按钮的情况下替换元素 但是onclick=“a.replaceChild(c,b)”---仅在单击按钮后替换元素Javascript onclick属性与脚本中的onclick,javascript,jquery,html,onclick,Javascript,Jquery,Html,Onclick,为什么不同 document.getElementById('click')。onclick=a.replaceChild(c,b)--在我不单击按钮的情况下替换元素 但是onclick=“a.replaceChild(c,b)”---仅在单击按钮后替换元素 <div id="container"> <p id="welcome">no greetings yet</p> <p id="products">oreo ice-cream</p&
<div id="container">
<p id="welcome">no greetings yet</p>
<p id="products">oreo ice-cream</p>
</div>
<button id="click" **onclick="a.replaceChild(c,b)"**>CHANGE</button>
<script>
var a = document.getElementById('container');
var b = document.getElementById('welcome');
var c = document.createElement('h2');
c.id = 'new';
c.innerHTML = "WELCOME";
**document.getElementById('click').onclick = a.replaceChild(c,b);**
</script>
还没有问候
奥利奥冰淇淋
改变
var a=document.getElementById('container');
var b=document.getElementById('welcome');
var c=document.createElement('h2');
c、 id='新';
c、 innerHTML=“欢迎”;
**document.getElementById('click').onclick=a.replaceChild(c,b)**
您不包括括号:您需要分配一个无参数函数,如document.getElementById('foo')=bar代码>,而不是像bar()
您现在分配它的方式实际上运行它,这意味着您分配的是该函数的返回值,而不是它的名称
参数使它比仅仅命名没有括号的函数稍微复杂一些
document.getElementById(“单击”).onclick=function(c,b){返回a.replacechild(c,b);}
这会满足你的要求
如果您对非纯基本javascript的解决方案感兴趣,jQuery的.click()
是一个不错的选择。另一种可能是。document.getElementById('click').onclick“只是在该行运行时返回onclick状态。可能在页面加载时
您要做的是添加一个将侦听.onclick状态中的更改的。然后用它调用你的函数
这就是onClick属性所做的。通常建议使用事件侦听器,以便将内容与JS逻辑清楚地分开 因为您调用了该方法,并且它返回的内容被分配给事件侦听器……这里什么是onclick=“a.replaceChild(c,b)
?replaceChild()
是一个在container div(a
)上调用的javascript函数。它将b
替换为c
,意思是“>..
替换为..
可能的重复项此选项是否回答了您的问题?