让浏览器以标准模式渲染(盒子模型对于浏览器不统一,使用doctype可以让浏览器以标准模式渲染)
DEMO2-8.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <input type="text" value="1" /> </body> </html>
可以看到,input元素的attribute type和value直接可以在Elemtents看到,它就是我们在HTML字符串中定义的,它的死的。
$0可以取得当前鼠标选中的元素。$0.value表示的property,它其实是和input的输入值相同,$0的getAttribute是获取attribute使用的,它和property无关
下面我们修改input的值
可以看到,修改输入框的值后,$0.value这个property的值改变了,但是$0的value attribute的值没有改变,并且,Elements中的value=“1”这个字符串也没有改变。
这时,我们通过$0.setAttribute(‘value‘, ‘444‘)来修改attribute的值
结果很显然,元素的property和attribute没有任何关系,可能在浏览器解析时会把attribute复制给property,但是在浏览器中渲染完成之后,就没有关系了。
另外,Elements中显示的其实是元素的attribute的。其实,修改Elements中input的attribute value的值,其实是不能反映到输入框中的,这就是property和attribute其实是没有关联的。
原文:https://www.cnblogs.com/JasonWang-code/p/13270174.html