Javascript 是否在单击的位置创建元素?

Javascript 是否在单击的位置创建元素?,javascript,html,Javascript,Html,我试图在单击的位置上创建一个元素,我发现了下面的代码。但是当我点击页面时什么都没有发生,控制台中也没有发现错误,为什么 function create(event) { var i = document.createElement("img"); i.setAttribute("id", "a"); i.src = *imagefile*; i.position = "absolute"; i.style.left = event.clientX+'px'; i.styl

我试图在单击的位置上创建一个元素,我发现了下面的代码。但是当我点击页面时什么都没有发生,控制台中也没有发现错误,为什么

function create(event) {
  var i = document.createElement("img");
  i.setAttribute("id", "a");
  i.src = *imagefile*;
  i.position = "absolute";
  i.style.left = event.clientX+'px';
  i.style.top = event.clientY+'px';
}
document.addEventListener("click", create);
几个问题

  • 您正在创建元素,但实际上并没有将其添加到任何地方。您需要确保使用将其附加到dom
  • i.position
    应该是
    i.style.position
    ,因为position是CSS样式
  • 细微的挑剔。“id”属性在页面上应该是唯一的。多次单击将使其不正确。在这种情况下根本不需要它
  • 函数创建(事件){
    //创建图像
    var i=document.createElement('img');
    //设置图像的来源
    i、 src='1〕https://www.mozilla.org/media/img/styleguide/identity/firefox/guidelines-logo.7ea045a4e288.png';
    //设置CSS样式,使其显示在单击的位置(左上角)
    i、 style.position='绝对';
    i、 style.left=event.clientX+'px';
    i、 style.top=event.clientY+'px';
    //将其添加到文档正文中
    文件.正文.附件(一);
    }
    //单击的主事件侦听器
    
    document.addEventListener(“单击”,创建)您确实创建了元素,尽管您从未将其添加到DOM中在函数外部,而a
    n++
    在函数内部。