GetElementById 无法获取值
GetElementById can't get value
本文关键字:获取 GetElementById 更新时间:2023-09-26
>你知道为什么这样吗
function deleteInputOnClick(input){
champ = document.getElementById(input);
if(champ.value =='E-mail'){
champ.value = "";
}
}
有效但以这种方式
function deleteInputOnClick(input){
champ = document.getElementById(input).value;
if(champ=='E-mail'){
champ= "";
}
}
它没有 ?
这可能是一个愚蠢的小错误,但我真的看不出它可能在哪里。
谢谢的
您没有以第二种方式将值重新设置在元素上,您只是将其分配给局部变量,您仍然需要执行document.getElementById(input).value = champ;
这是因为 is champ
是一个被分配了 input
元素值的变量。
其值不会更改输入的值(因为它不是双向绑定,您只是为其分配了值)
因此,您需要直接定位input
的value
属性以更改其值
如果您试图避免在很多地方使用.value
,则可以缓存input
元素及其value
以用于不同的用途。
function deleteInputOnClick(input){
var champ = document.getElementById(input),
value = champ.value;
if(value=='E-mail'){
champ.value = "";
}
}
document.getElementById(input).value
返回字符串值,而document.getElementById(input)
返回引用(对象)。因此,在一种情况下,只有局部变量的值被更改,而在另一种情况下,原始对象仍然链接到 DOM 值。
看看这个问题:Javascript by 引用与 by value
相关文章:
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- jquery试图按名称获取按钮位置
- 如何在jQuery中获取元素的形式
- 如何在php文件中获取$.post-ajax传递的值
- 在Shopify中获取博客文章的图片
- 使用Javascript获取所选选项ID
- 在jQuery中获取表的行索引
- 使用jquery将mysql数据获取到新的表行中
- 在动态创建的元素上获取对特定选择器的引用
- 从城市名称获取惊喜
- Angular只从数组中获取所需的数据
- 无法将数据从firebase获取到我的html页面
- 从ajax请求中获取javascript对象
- 如何从画布上的某个移动事件中获取X和Y
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 如何在PHP中使用$_POST获取Select元素值
- 获取@ResponseBody的一部分作为主干和Spring MVC控制器之间的参数
- 从Rally获取一个特定的标记,以便计算另一个字段中的值
- Twitter Bootstrap typeahead:使用“this”获取上下文/调用元素
- 获取节点的完整dom遍历地址,从主体向下到节点,而不依赖于getElementBy或$('jQuery'