又發現自己寫的JavaScript代碼在FireFox下運行出錯,原因很郁悶,在獲取一個Radio元素的值的時候只得到了 undefind。
谷歌了一下,大多跟我用的方法是一樣的
. 代碼如下:
var value = $("input[name='radio1'][type='radio'][checked]").val();
這句在IE、Safari(3.2)下測試通過,但是在FireFox、Chrome下卻得不到選中的值。
仔細再看手冊,發現“表單對象屬性”這個列表。難道說對表單對象有專用的屬性判斷的方法?把代碼改一下
. 代碼如下:
var value = $("input[name='radio1'][type='radio']:checked").val();
在IE、FireFox、Chrome、Safari(3.2)下測試均通過。
順便測試了select元素,手冊上的寫法跟我常用的寫法,在上述幾個浏覽器下都可以獲取到正確的值。
. 代碼如下:
var value1 = $("select").val(); var value2 = $("select option:selected").val();
我是在jQuery 1.32版本下測試的,大家可以試一下。