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
提交
取消