为了账号安全,请及时绑定邮箱和手机立即绑定

单行设置 DOM 属性

单行设置 DOM 属性

富国沪深 2022-05-26 17:21:13
是否可以将以下内容重写为单个表达式?我喜欢用 vanilla js 编写代码,并希望我的代码不那么冗长const div = document.createElement("div");div.property1 = 1,div.property2 = 2,document.body.appendChild(div);
查看完整描述

2 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

您可以,但代价是创建另一个对象并通过以下方式循环其属性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;

}


查看完整回答
反对 回复 2022-05-26
?
长风秋雁

TA贡献1757条经验 获得超7个赞

为了兴趣。根据 TJ 的回答,如果使用辅助函数,您的冗长可以少得多:
body.ac(as(ce("div"), { property1: 1, property2: 2 }));



查看完整回答
反对 回复 2022-05-26
  • 2 回答
  • 0 关注
  • 94 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信