[英]How can I create an img element when pressing a button with JavaScript?
When I click I want an img tag to be generated and with an image I have tried several ways but it doesn't work.当我点击时,我想要生成一个 img 标签,并且我已经尝试了几种方法,但它没有用。
var oferr=document.getElementsByClassName("a")[0]; var new=document.getElementsByClassName("create") oferr.addEventListener('click', function () { let new_element=document.createElement('img'); let image=document.createAttribute('src','img/imagen_1'); new_element.appendChild(imagen); new.appendChild(new_element); })
<div class="ad"> <h1>10% discount</h1> </div> <header> <div class="logo"> <h2 class="name">Environments</h2> </div> <nav> <a href="" class="nav-link">Offers</a> <a href="" class="nav-link">Products</a> <a href="" class="nav-link">Login</a> </nav> </header> <div id="create"> </div> <script src="/js/main.js"></script>
Just set the image's .src
property to the source URL.只需将图像的
.src
属性设置为源 URL。
create
is an ID, not a class, so use document.getElementById()
. create
是一个 ID,而不是 class,因此请使用document.getElementById()
。
The anchors don't have class="a"
, you should use document.getElementsByClassName("nav-link")
.锚点没有
class="a"
,你应该使用document.getElementsByClassName("nav-link")
。
You need to use Event.preventDefault()
in the event listener to prevent following the links.您需要在事件侦听器中使用
Event.preventDefault()
以防止跟踪链接。
You can't use new
as a variable name because it's a reserved keyword.您不能将
new
用作变量名,因为它是保留关键字。
var oferr=document.getElementsByClassName("nav-link")[0]; var create=document.getElementById("create") oferr.addEventListener('click', function (e) { e.preventDefault(); let new_element=document.createElement('img'); new_element.src = 'img/imagen_1'; create.appendChild(new_element); })
<div class="ad"> <h1>10% discount</h1> </div> <header> <div class="logo"> <h2 class="name">Environments</h2> </div> <nav> <a href="" class="nav-link">Offers</a> <a href="" class="nav-link">Products</a> <a href="" class="nav-link">Login</a> </nav> </header> <div id="create"> </div> <script src="/js/main.js"></script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.