2种textarea值[重复]

Posted

技术标签:

【中文标题】2种textarea值[重复]【英文标题】:2 types of textarea values [duplicate] 【发布时间】:2018-11-01 02:56:58 【问题描述】:

html <textarea/> 元素同时包含 2 个“值”字段;在查看元素的 html 源代码时,只有其中一个可见。 (如下例所示)。

有人可以解释为什么会这样吗?“Type2”值存储在哪里?

理论:What is the difference between properties and attributes in HTML?

var dummy = document.createElement("textarea");
document.body.appendChild(dummy);
dummy.setAttribute('value', "Type1");
dummy.value = "Type2";

console.log("attributeValue is " + dummy.getAttribute('value'));
console.log(".value is " + dummy.value);

【问题讨论】:

它存储在DOM元素的value属性中 文本区域没有/不需要值属性。您仍然可以添加它 【参考方案1】:

您的setAttribute() 调用将value 属性 应用于DOM 中的textarea 元素。这在技术上是不正确的,因为 textarea 元素没有 value 属性。

然后设置元素的value 属性。这是正确的用法,也是在元素中设置可见文本的原因。

这个逻辑的结果是这个 HTML:

<textarea value="Type1">Type2</textarea>

当您使用getAttribute() 时,您会从返回Type1 的元素中读取(非标准)value 属性

当您读取value 属性时,您(正确地)读取了包含在该字段的用户可编辑内容中的值,该字段返回Type2

简而言之,你的困惑是因为你使用了一个名为value属性和一个名为value属性,它们不是一回事当应用于textarea时。

【讨论】:

以上是关于2种textarea值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

textarea 不能有默认值 [重复]

默认值 TextArea 神秘空间 [重复]

<textarea> 值,与 innerHTML....关于 PHP [重复]

为啥我从 textarea 中提取换行符的方法是使用 \r [重复]

HTML Textarea 默认文本? (如布局)[重复]

如何检索 textarea 的当前值?可以使用哪种方法代替 $("form").submit(function() ?