用JavaScript操作DOM,除了setAttribute外,还有啥办法修改html节点的值吗?
题述中的 “HTML节点”,是指 Node 吗?Node 有很多种,方法和属性也各有不同。Node - Web APIs就淘宝这个 input ,它的 value,你可以认为它是 attribute ,通过 input.setAttribute() ,或者 input.attributes.value 去操作它,也可以认为它是 property,通过 input.value 去操作它。那么 attribute 和 property 有啥区别呢?attribute 是 HTML 里写好的,property 是 DOM 节点的属性;有一些 attribute 会映射到 property (如 value/id 等),有一些 attribute 则不会;HTML 里写好的 attribute,在映射到 property 时作为 property 的初始值;后续的修改最好是直接改 property,改 attribute 不一定生效,关于这一点,每一个浏览器、每一个元素都可能会有自己的行为,data attribute/property 的引入,使得这个问题更复杂了。关于 attribute/property ,可以看看这个 demohttp://jsfiddle.net/n9rcdvhr/3/通过这个例子我们可以看到:input 的 value property 重新赋值,不会改变 value attribute ,value.setAttribute(\u0026#39;value\u0026#39;, \u0026#39;xxx\u0026#39;) ,也不会改变 input.value。img 的 src property 却会与 src attribute 相互影响。
■网友
setAttribute不是用来修改自定义属性的么。通用属性可以直接用 x.value ,x.title 这种方法获取或者修改→_→
推荐阅读
- 探访水电厂“内科医生”:操作精度达头发丝的六十分之一
- 子良说汽车|崔克“唯一”的车型?TREK Domane进化史
- 英雄联盟快捷键Q、E、R咋操作呢
- 环球车讯网|特斯拉FSD新版,会更接近人类的操作习惯?
- 客栈通PMS咋操作和携程账号直连
- 既然c程序编译为机器码直接操作硬件,为啥不同操作系统下需要重新编译
- 如果要在手机上做一款FPS+MOBA,你会咋设置操作模式来让其获得最佳体验
- 阿言爱汽车|你知道吗?这几款摩托车既是亲戚又是对手,不过这种操作好吗?
- 贾玲|佟丽娅成功追星刘德华,还不忘到贾玲面前炫耀,沈腾操作更有意思
- 随机森林和logistics回归性能比较。logistics \u003e randomforest ?
