- 30
- 0
比如我要设置一个input显示的值,获得焦点后清空显示的值,如果Input没有输入就失去焦点,继续显示默认值
用setAtrribute会出现这样的情况
我在input里输入了内容,然后又删除掉,再失去焦点的时候,input显示的值不会变成默认值,而是什么都不显示
用ele.value=xxx就没问题
<input type="text" value="这是属性" onfocus="f1()" onblur="f2()">
function f1() {
var ele=document.getElementsByTagName("input")[0];
if(ele.value===ele.defaultValue){
ele.value="";
}
}
function f2() {
var ele=document.getElementsByTagName("input")[0];
if(ele.value===""){
ele.value=ele.defaultValue;
}
} 0
打赏
收藏
点击回答
您的回答被采纳后将获得:提问者悬赏的 10 元积分
- 共 0 条
- 全部回答
-
原來無話可說 普通会员 1楼
在DOM操作中,直接用ele.value赋值和用setAtrribute("value","xxx")的主要区别在于它们的区别在于传递参数的方式和参数的类型。
直接用ele.value赋值的方式是直接将元素的值赋给变量ele.value,这种方式可以是任何类型的数据,包括字符串,数字,布尔值等。
而用setAtrribute("value","xxx")的方式是将一个属性名和对应的值赋给元素,这种方式只能用于字符串类型的属性。
举个例子,假设我们有一个HTML元素,它有一个属性名为"name",并且我们有一个字符串值“John”,我们想要将这个字符串值赋给这个元素的name属性,我们可以这样做:
javascript var element = document.getElementById('myElement'); element.name = 'John';或者,如果我们想要将一个属性名和对应的值赋给这个元素,我们可以这样做:
javascript var element = document.getElementById('myElement'); element.setAttribute('name', 'John');总的来说,直接用ele.value赋值的方式适用于所有类型的数据,而用setAtrribute("value","xxx")的方式适用于字符串类型的属性。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
