Различная документация указывает на то, что я могу это сделать:
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
Как создать элемент HTML и установить его атрибуты стиля в javascript [закрыто] ⇐ Javascript
Форум по Javascript
1768172013
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;
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79865743/how-do-i-create-an-html-element-and-set-its-style-attributes-in-javascript[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия