为什么我不能通过setAttribute设置textarea的value属性?
Why cannot I set the value attribute of texarea by setAttribute?
<textarea value="hello" id="id1"></textarea>
上面的文本区域没有显示“你好”。
document.getElementById('id1').setAttribute("value", "hello");
<textarea value="hello" id="id1"></textarea>
这个文本区域也不显示“你好”。但是下面的确实显示了“你好”,为什么?
document.getElementById('id1').value = "hello";
<textarea value="hello" id="id1"></textarea>
setAttribute
非常适合 <input>
元素:
document.getElementById('id1').setAttribute("value", "hello");
<input value="" id="id1" />
A textarea 没有要使用 setAttribute 设置的值属性 - 它有一个值 属性,您可以使用 element.value
直接设置
比较
<textarea>value</textarea>
至
<input value="value"/>
其中值是输入元素的属性
在DOM中,input
和textarea
元素有一个defaultValue
属性。如果用户未键入任何内容或表单已重置,这将控制元素中显示的内容。
对于 input
元素,defaultValue
属性 映射到 value
属性 .
对于 textarea
元素,defaultValue
属性 映射到元素的 文本内容 。 textarea
个元素没有 value
属性。
两种元素都有一个value
属性代表当前值。
这与输入元素 value
属性 具有相同的名称是不幸的,并且是相当混乱的来源。
<textarea value="hello" id="id1"></textarea>
上面的文本区域没有显示“你好”。
document.getElementById('id1').setAttribute("value", "hello");
<textarea value="hello" id="id1"></textarea>
这个文本区域也不显示“你好”。但是下面的确实显示了“你好”,为什么?
document.getElementById('id1').value = "hello";
<textarea value="hello" id="id1"></textarea>
setAttribute
非常适合 <input>
元素:
document.getElementById('id1').setAttribute("value", "hello");
<input value="" id="id1" />
A textarea 没有要使用 setAttribute 设置的值属性 - 它有一个值 属性,您可以使用 element.value
直接设置比较
<textarea>value</textarea>
至
<input value="value"/>
其中值是输入元素的属性
在DOM中,input
和textarea
元素有一个defaultValue
属性。如果用户未键入任何内容或表单已重置,这将控制元素中显示的内容。
对于 input
元素,defaultValue
属性 映射到 value
属性 .
对于 textarea
元素,defaultValue
属性 映射到元素的 文本内容 。 textarea
个元素没有 value
属性。
两种元素都有一个value
属性代表当前值。
这与输入元素 value
属性 具有相同的名称是不幸的,并且是相当混乱的来源。