4 回答
森栏
TA贡献1810条经验 获得超5个赞
value属性比较特殊,尽管value属性不是select元素的标准属性,但在JS中是可以通过select对象.value来获取选定值的
通过这种方法取得的value值实际上是所选择的option的value值。
像你这样直接在select标签的html代码中设置了一个value属性,JS仍然会把它当作是自定义属性。所以就出现了例子中这个比较“奇怪”的现象。
小唯快跑啊
TA贡献1863条经验 获得超2个赞
| 123456789101112131415161718 | <select style="width: 120px;" id="dp" name="dp" value="-1" onchange="funAlert(this)"> <option value="-1" selected="selected"></option> <option value="1">WA1</option> <option value="2">OR2</option> <option value="3">AZ3</option> <option value="4">UT4</option> <option value="5">IA5</option> <option value="6">MD6</option></select> <script type="text/javascript">function funAlert(obj) { obj.setAttribute('demo', obj.value); //setAttribute设置自定义属性 alert(obj.getAttribute('demo')); //getAttribute获取自定义属性的值 alert(obj.getAttribute('value')); //由于没有用setAttribute('value', obj.value)修改自定义属性value的值,所以一直都是-1 alert(obj.value); //直接获取select对象的value值,返回当前选中的option的值}</script> |
value属性比较特殊,尽管value属性不是select元素的标准属性,但在JS中是可以通过select对象.value来获取选定值的,通过这种方法取得的value值实际上是所选择的option的value值。像你这样直接在select标签的html代码中设置了一个value属性,JS仍然会把它当作是自定义属性。所以就出现了例子中这个比较“奇怪”的现象。
添加回答
举报
0/150
提交
取消
