Динамически создавайте элемент тега и применяйте стили

0

Я создал динамический элемент "myCanvas" динамически и попытаюсь установить стили в тег div, который он выдает неопределенное исключение. Пожалуйста, проверьте мой код и предложите мне

// move the canvas, so it 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 styles is undefined

Что я сделал здесь неправильно?.. пожалуйста, предложите мне правильные вещи..

Благодаря,

Bharathi

  • 1
    не $('myCanvas'); ..это должно быть $('#myCanvas');
  • 0
    вы пропустили # в селекторе jquery $ ("# myCanvas");
Теги:

4 ответа

2

Сделать просто:

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

замещать

var can = $('myCanvas');

с

var can = $('#myCanvas');

[edit user = "dholakiyaankit"]

QA запрашивает id not class

0

Ответ Antegias должен читать

Заменить:

var can = $('#myCanvas');

поскольку вы дали ему id, а не класс, вы не можете выбрать его таким образом, пока он не будет добавлен в DOM, но у вас есть ссылка на него в любом случае в переменной

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';

Ещё вопросы

Сообщество Overcoder
Наверх
Меню