'值'关键字实际上在JavaScript中工作,我们可以同时获得一个值并分配它吗
How does the 'value' keyword actually work in JavaScript, can we get a value and assign it at the same time?
我花了很多时间来理解这一点,但无法得到任何与我的问题具体相关的答案,我想问的是,"value"关键字如何返回文本框或任何其他元素的值,我们可以同时分配。
我们不使用括号,所以根据我的理解,它不是一个函数。
我正在尝试创建一个具有属性的对象,让我们称之为"val",它将返回值,并且无法通过使用等于运算符来分配新值。
硬编码的值是有效的,但是如何动态地获取它呢?我会创建一个函数,每次插入值时都会激发它,并将其分配给属性吗?或者它将如何工作?因为我不能清楚地使它成为一个返回值的函数,因为那时我无法分配它。
var searchBar = {
element : document.getElementById('memSearchInput'),
val : document.getElementById('memSearchInput').value.trim(),
}
这显然是一项艰巨的工作。
我没有发布太多问题,所以如果这不清楚,很抱歉。
value
不是"关键字",而是getElementById
调用返回的DOM节点的属性。由于您似乎正在那里获取一个HTML <input>
元素(它恰好是一个名为HTMLInputElement
的DOM节点对象),您可以在该对象的描述中找到关于其value
产权的信息:
控件中的当前值。
注意:对于某些输入类型,返回的值可能与用户输入的值不匹配。例如,如果用户在
<input type="number">
中输入非数字值,则返回的值可能是空字符串。
到目前为止,您可能已经猜到该属性在许多情况下(但不是所有情况)可能会返回一个字符串,因此trim
调用将从开始和结束处去掉空白,val
属性最终被静态地设置为该字符串。
请参阅使用对象:定义getter和setter以及从中链接的getter/setter页面,了解如何实际控制从属性读取值或向属性写入值时发生的情况。
不,没有办法内置设置input
或textarea
的值并同时获得其原始值。
但不用担心——你真的可以很容易地编写自己的方法来做到这一点!
有一种方法:
function getAndSet(id, newValue){
var el = document.getElementById(id);
var oldValue = el.value.trim();
el.value = newValue;
return oldValue;
}
var searchBar = {
element : document.getElementById('memSearchInput'),
val : getAndset("memSearchInput", "someNewValue")
}
相关文章:
- 在jquery中创建和分配一个css类
- 在getJSON函数中分配一个变量
- ExtJS:为存储中的数据分配一个变量
- Javascript:分配一个变量并同时对其进行测试
- 在 JavaScript 警报消息框的“确定”按钮上分配一个值
- 使用 emscripten 在 JavaScript 中分配一个 C 结构
- 你能在javascript中分配一个引用表达式吗?
- JS - 为每个 Dom 元素分配一个对象中的值
- 我应该从量角器中元素的 getText() 承诺中分配一个变量或返回变量
- 如果我为 JS 变量分配一个新值,它会破坏它的绑定吗?
- JavaScript var 分配一个动态可为空的值显示脚本错误
- 为每个对象分配一个键
- 在 Jquery 中为语言切换器分配一个全局变量
- 找到一个按钮并通过jQuery / JavaScript分配一个ID
- 在 iframe 内分配一个变量
- 在循环中分配一个带有 PHP/Postgresql 查询值的 javascript 数组
- 随机为图像分配一个值,然后传递动画
- 为什么可以't我给“t”分配一个新值;这个“;在原型函数中
- AngularJS$http promise只能分配一个错误/成功函数
- 我可以从javascript向asp.net服务器端分配一个值吗