HTML 对象属性 property value 与 attribute value

通常在 js 中动态改变 DOM 对象属性值的时候,都会在 JS  中直接用如下这种方式进行:

document.getElementById("f_id").value = "30";

但是今天发现在给 <input type="text" id="f_id" value="1"  /> 重新赋值的时候,由于初始化时设置了默认值,在 js 中用上述方式重新赋值时,用 firebug 动态查看发现 标签对象中的 value 实际值并没有变化,只是页面上显示的值发生了变化,进一步探查,发现,发生变化的是 property value,而 attribute value 还是原来的默认值,并没有改变。

解决办法:

第一种方法:

document.getElementById("f_id").attributes.value.textContent = "30";
document.getElementById("f_id").attributes.value.value = "30";


第二种方法:

document.getElementById("f_id").setAttribute("value","30");


就此问题解决了!

你可能感兴趣的:(HTML 对象属性 property value 与 attribute value)