如何通过jQuery或Javascript添加具有绝对位置的元素

How can I add an element with absolute position via jQuery or Javascript?

本文关键字:位置 元素 jQuery 何通过 Javascript 添加      更新时间:2023-09-26

我有这一行要在屏幕中添加一个新元素,但绝对位置不起作用。

Javascript

function drawElement(e,name){   
    $("#canvas").append("<div id='" + name + "' class='element'"
    + "left="+e.pageX+" top=" + e.pageY +">"
    + name
    +"</div>");
}

CSS

.element{
    display:inline-block;
    background:blue;
    position:absolute;  
}

我做错了什么?

  1. 列出项目
var element = $('<div />',{'name': name, 'class': element})
                          .css({ 'left': e.pageX, 'top': e.pageY })
                          .html(name);  
$("#canvas").append(element); 
    function drawElement(e,name){   
        div = $("<div />")
            div.attr("id", name);
            div.attr("class", 'element')
            div.css("top", e.pageY)
            div.css("left", e.pageX)
            div.html(name)
            $("#canvas").append(div)
    }

更新:来自下面的评论(不知道你能做到!(:(

    function drawElement(e,name){   
        div = $("<div />")
        div.attr({id: name, class: 'element'});
        div.css({top: e.pageY, left: e.pageX})
        div.html(name)
                $("#canvas").append(div)
    }

将顶部和左侧位置写入样式属性,如下所示->

.append("<div id='" + name + "' class='element'"
+ "style='left:"+e.pageX+";top:" + e.pageY +";'>"

虽然你可能应该这样做,这样它更。。。可控。

var newElem = $('<div />').addClass('element').css({'left': e.pageX, 'top' : e.pageY});
 $("#canvas").append(newElem);