又发现自己写的JavaScript代码在FireFox下运行出错,原因很郁闷,在获取一个Radio元素的值的时候只得到了 undefind。
谷歌了一下,大多跟我用的方法是一样的
1 | var value = $("input[name='radio1'][type='radio'][checked]").val(); |
这句在IE、Safari(3.2)下测试通过,但是在FireFox、Chrome下却得不到选中的值。
仔细再看手册,发现“表单对象属性”这个列表。难道说对表单对象有专用的属性判断的方法?把代码改一下
1 | var value = $("input[name='radio1'][type='radio']:checked").val(); |
在IE、FireFox、Chrome、Safari(3.2)下测试均通过。
顺便测试了select元素,手册上的写法跟我常用的写法,在上述几个浏览器下都可以获取到正确的值。
1 2 | var value1 = $("select").val(); var value2 = $("select option:selected").val(); |
我是在jQuery 1.32版本下测试的,大家可以试一下。