脚本 1将记录two
,但浏览器仍会将select
元素呈现为One。该表单还将提交该值one
。脚本 2将记录、渲染和提交two
. 我希望它们是同义词并做同样的事情。请解释为什么它们不同,以及我应该在哪里寻找相同的不一致。
据我了解,select
DOM 中的元素实际上并不包含该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);