脚本 1将记录two,但浏览器仍会将select元素呈现为One。该表单还将提交该值one。脚本 2将记录、渲染和提交two. 我希望它们是同义词并做同样的事情。请解释为什么它们不同,以及我应该在哪里寻找相同的不一致。
据我了解,selectDOM 中的元素实际上并不包含该value属性。第一种方法清楚地分配它并从该元素中检索值,对渲染没有影响。在元素的情况下,我应该如何正确使用setAttribute和getAttribute正确使用?select
演示文档:
<select id="el">
<option value="one">One</option>
<option value="two">Two</option>
</select>
脚本 1:
document.getElementById('el').setAttribute('value','two');
console.log(document.getElementById('el').getAttribute('value'));
脚本 2:
document.getElementById('el').value = 'two';
console.log(document.getElementById('el').value);