JS取radio的value有时候用document.getElementById也能取到,为啥?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS取radio的value有时候用document.getElementById也能取到,为啥?相关的知识,希望对你有一定的参考价值。

正常是应该用document.getElementsByName取数组,对应每个radio的值,用数组取法Array[i]取得结果,我想问的是什么时候用前一种可以取到,什么时候取不到

document.getElementById
是按照id属性取得页面html标签对象
使用他的前提是,标签属性中必须有id属性,并且该id属性是在当前网址唯一的(如果不是唯一,那只会取得相同id属性的第一个元素)追问

根据我遇到的情况,取radio的值的时候,有的时候可以直接取到选择项的值,如JS方法是function getvalue()
var value = document,getElementById("mod");
alert("value")

,页面上的代码是
第一个
第二个
第三个
如果选第一个,alert的值就是1,但是有时候却取不到

参考技术A id应该是不重复的
<input type="radio" id ="mod_1" value="1">第一个
<input type="radio" id ="mod_2" value="2">第二个
<input type="radio" id ="mod_3" value="3">第三个
取值
function getValue()
for(var i=1; i<4; i++)
var mod_value = document.getElementById("mod_"+i).value;
alert(mod_value);

追问

如果重复了会怎样的结果?

Jquery mobile中的 checkbox和radio的设置问题

在Jquery Mobile网页中用JS控制Radio的状态一直达不到目的。

用$("input[name=‘radio‘]:first").prop("checked",true)设置checked的时候,用.attr("checked")读取不到值。

用$("input[name=‘radio‘]:first").attr("checked",true)设置checked的时候,页面显示状态变为两个都不显示。

最后只能把prop和attr都写在里面,才算解决了问题。

当然最后的refresh也是必须的,否则也不更新状态。

$("input[name=‘radio‘]:first").prop("checked",true).checkboxradio(‘refresh‘);
$("input[name=‘radio‘]:first").attr("checked",true).checkboxradio(‘refresh‘);
$("input[name=‘radio‘]:last").attr("checked",false).checkboxradio(‘refresh‘);
$("input[name=‘radio‘]:last").prop("checked",false).checkboxradio(‘refresh‘);




以上是关于JS取radio的value有时候用document.getElementById也能取到,为啥?的主要内容,如果未能解决你的问题,请参考以下文章

与input有关的一些操作

JS for in 循环中的key ,value 详解。

js页面取值的三种方式

JS控制radio和select

每个radio的name都是不相同的,怎么用js或者jquery获取选中的每个radio值,然后拼成id串传到前台。

JQueryJQuery基本操作