Установка свойств DOM в однострочнике - PullRequest
2 голосов
/ 21 марта 2020

Можно ли переписать приведенное ниже как единое выражение? Я люблю кодировать ваниль js и хочу сделать мой код менее многословным

const div = document.createElement("div");
div.property1 = 1,
div.property2 = 2,
document.body.appendChild(div);

Ответы [ 2 ]

1 голос
/ 21 марта 2020

Можно, но за счет создания другого объекта и просмотра его свойств с помощью Object.assign:

document.body.appendChild(Object.assign(document.createElement("div"), {property1: 1, property2: 2}));

С разрывами строк:

document.body.appendChild(
    Object.assign(
        document.createElement("div"),
        {property1: 1, property2: 2}
    )
);

Бесплатный живой пример:; -)

document.body.appendChild(
    Object.assign(
        document.createElement("div"),
        {
            className: "example",
            id: "ex",
            textContent: "Hi there"
        }
    )
);
.example {
    color: green;
}
#ex {
    font-weight: bold;
}
0 голосов
/ 22 марта 2020

Для интереса. Исходя из ответа TJ, если вы используете вспомогательные функции, вы можете получить гораздо меньше подробностей:
body.ac(as(ce("div"), { property1: 1, property2: 2 }));

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...