【发布时间】:2017-12-08 04:14:39
【问题描述】:
为什么不一样?
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>
<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>
【问题讨论】:
-
因为你调用了该方法,它返回的内容被分配给了事件监听器...
-
这里的
onclick="a.replaceChild(c,b)是什么? -
replaceChild()是一个在容器 div (a) 上调用的 JavaScript 函数。它将b替换为c,这意味着<p id="welcome">..</p>替换为<h2 id="new">...</h2> -
这能回答你的问题吗? addEventListener vs onclick
标签: javascript jquery html onclick