【发布时间】:2022-01-16 20:02:35
【问题描述】:
如何使用Object.assign() 设置元素的值?除了"value" 用于<input> 和"for" 用于<label> 之外,所有其他属性似乎都出现了。代码如下:
window.onload = function createForm () {
// Form header >>>>
const formHeaderText = document.createTextNode("Form");
headerEl.appendChild(formHeaderText);
container.appendChild(headerEl);
// Form element >>>
Object.assign(formEl, {
name: "inputForm",
id: "myForm"
});
container.appendChild(formEl);
// Name Label >>>
const nameLabelText = document.createTextNode("Name");
labelElName.appendChild(nameLabelText);
Object.assign(labelElName, {
for: "iname",
});
formEl.appendChild(labelElName);
// Name Input element >>>
formEl.appendChild(inputElName);
Object.assign(inputElName, {
className: "inputs",
id: "iname",
name: "name",
type: "text",
placeholder: "Name",
value: ""
})
我得到的是:
<input class="inputs" id="iname" name="name" type="text" placeholder="Name">
对于输入和:
<label>Name</label>
用于标签元素。
【问题讨论】:
-
你好像从来没有定义过
labelElName..? -
还有
formEl定义在哪里?这是什么? -
它们都保存在常量中但我无法提交所有代码...抱歉
-
这是一些未提交的代码:
const container = document.getElementsByClassName("container")[0] const headerEl = document.createElement("h1"); const formEl = document.createElement("form"); const labelElName = document.createElement("label"); const labelElGender = document.createElement("label"); const labelElAge = document.createElement("label"); const inputElName = document.createElement("input"); const inputElGender = document.createElement("input"); const inputElAge = document.createElement("input");
标签: javascript object dom attributes