Как создать элемент HTML и установить его атрибуты стиля в javascript [закрыто]Javascript

Форум по Javascript
Ответить
Anonymous
 Как создать элемент HTML и установить его атрибуты стиля в javascript [закрыто]

Сообщение Anonymous »

Различная документация указывает на то, что я могу это сделать:
const e = document.createElement('div');
e.style.left = '100px';
e.style.top = '100px';

и, действительно, если я ввожу это в консоль браузера по одной строке за раз, это работает.
Однако, если я помещаю этот код в функцию и запускаю функцию из консоли браузера, я получаю сообщение об ошибке, сообщающее, что e.style не определен. Добавляем строку
e.style = '';

сразу после того, как createElement не имеет никакого эффекта. Я пробовал это в Chrome и Firefox.
Что работает (как индивидуально, так и в виде функции):
const e = document.createElement('div');
e.style = 'left:100px;top:100px;';

Почему?
РЕДАКТИРОВАТЬ: приведенный выше код действительно работает нормально; Я слишком упростил это. Вот короткий HTML-файл, демонстрирующий проблему. Якобы конструкторы Box и Nox делают то же самое. Но new Box() работает, а new Nox() — нет. Возможно, это что-то глупое. Но я этого не вижу...






const boxes=[];

function Box(x,y,txt) {
const e = this.element = document.createElement('div');
e.className='box'
e.style = 'left:'+(this.x = (x || 0))+'px;top:'+(this.y = (y || 0))+'px;';
e.innerHTML = '
'+txt+'
';
document.body.appendChild(e);
boxes.push(this);
}

function Nox(x,y,txt) {
const e = this.element = document.createElement('div');
e.className='box'
e.stlye.left = (this.x = (x || 0))+'px'; // x position of upper left
e.style.top = (this.y = (y || 0))+'px'; // y position of upper left
e.innerHTML = '
'+txt+'
';
document.body.appendChild(e);
boxes.push(this);
}


div.box {
position:absolute;
top:0;
left:0;
height:30px;
border:1px solid black;
display:flex;
align-items:center;
justify-content:center;
}







Подробнее здесь: https://stackoverflow.com/questions/798 ... javascript
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»