简体   繁体   English

使用 JavaScript 按下按钮时如何创建 img 元素?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM