动态创建标记元素并应用样式

时间:2013-12-02 11:54:58

标签: javascript jquery

我动态创建了"myCanvas" div元素,并尝试将样式设置为div标记,抛出未定义的异常。请检查我的代码并建议我

// move the canvas, so it's contained by the same parent as the image
    var imgParent = img.parentNode;
    $('<div id="myCanvas">');
    var can = $('myCanvas');
    can.appendTo(imgParent);

    // position it over the image
    can.style.left = x + 'px'; //If set styles to can element, it's styles is undefined

我在这里做错了什么..?拜托,有人建议我说对了..

谢谢,

Bharathi

4 个答案:

答案 0 :(得分:2)

制作很简单:

$('<div id="myCanvas">').appendTo(img.parentNode).css('left', x);

答案 1 :(得分:0)

替换

var can = $('myCanvas');

var can = $('#myCanvas');

[edit user =“dholakiyaankit”]

QA要求id不是上课

答案 2 :(得分:0)

您不需要选择myCanvas元素,因为它尚未添加到DOM中(您的选择器也不正确)。您可以改为使用它:

var imgParent = img.parentNode;
// By default when creating an element in jQuery, it returns an instance of the jQuery object created
var can = $('<div id="myCanvas">');
can.appendTo(imgParent);
can.style.left = x + 'px';

答案 3 :(得分:0)

Antegias的回应应该是

将......替换为:

var can = $('#myCanvas');

因为你已经给它一个id而不是一个类,你不能以这种方式选择它,直到它被添加到DOM,但你在变量中无论如何都可以引用它