为什么在textarea的值属性不同于JS的值
Why in textarea value attribute is different from JS value
最初我试图改变textarea
的外观,当它是空的,只有CSS
。我以为这会起作用,但正如你所看到的,当你写东西并点击按钮时,值是不同的。有人知道做这个宽度CSS
或JS
是需要的解决方案吗?input
有可能吗??
var area = document.querySelector("textarea");
var btn = document.querySelector("button");
btn.addEventListener("click", function() {
var value = area.value;
var attr_value = area.getAttribute("value");
alert("value: " + value + "'nattr value: " + attr_value);
});
textarea {
background: red;
transition: background 0.5s ease;
}
textarea[value=""] {
background: gray;
}
<textarea value="Here I am"></textarea>
<br>
<button>Click me!</button>
Textarea HTML元素没有value
属性。它们的值是它们内部的文本内容。
因此,value
属性将始终获取正确的输入值。
getAttribute("value")
将获取文本区域的value
属性的值,如果您给它一个。但由于此属性在textarea元素上是非标准的,所以无论如何都不应该使用它。
:)
对于您最初的问题的解决方案可能是使用一个小js片段,因为我无法让它与:empty
一起工作。
var area = document.querySelector("textarea");
area.addEventListener("input", function() {
if(area.value) area.classList.add('has-content');
else area.classList.remove('has-content');
});
相关文章:
- 从我的控制器返回一个不同于200的代码以触发ajax错误,这被认为是一种好的做法吗
- 如何在不使用JS发出新请求的情况下读取当前标头
- Grunt不看JS文件
- Javascript 单击html字段值而不编辑.js文件
- 5 秒后加载页面而不刷新 JS
- JavaScript计算不同于Firefox的图像尺寸(?)
- 提交按钮的点击元素不调用JS函数
- 我没有'我不理解js的结构
- Rails远程表单发送html而不是js
- 错误:this.setValues不是js代码中的函数,请使用googlemapapi
- 为什么{}+[]不同于({}+[])
- 为什么浏览器可以'在`.中找不到js文件/lib/`(相对)位置
- 新日期(2012,01)不同于新日期(2012-01)
- Node.js: if-modified-since date总是不同于mtime stat文件
- Crypto-Js不同于mcrypt的输出,当数据发生变化时进行加密
- Crypto-Js不同于mcrypt的输出
- 是否可以像使用Node.js那样,生成用不同于Python或PHP服务器的语言编写的子进程?
- 在Three.js中使用不同于默认的字体
- 为什么在textarea的值属性不同于JS的值
- 回调不同于从一个函数调用另一个函数 (JS)