如何获取单选按钮的文本(不是值)

dl_*_*l__ 2 javascript dom input

我知道我可以获得单片机的"价值"属性,但我发现获得单片机的文本非常困难.

考虑下面的例子.它有3个radiobuttons,并试图提醒第一个单选按钮的值,这是"红色",然后尝试提醒radiobutton的文本,"apple"但是失败了.

获取几乎所有元素的文本都可以使用elem.childNodes [0] .nodeValue完成.为什么它不适用于radiobuttons?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" >
<head>
<title>Radio Buttons</title>
<style type="text/css">
</style>
<script type="text/javascript">
function start(){
  var rblist = document.getElementsByName("colors");
  var elem = rblist[0];
  alert(elem.value); // PRINTS "RED"
  alert(elem.childNodes[0].nodeValue); //THROWS ERROR
}
</script>       
</head>
<body onload="start();">
<input type="radio" name="colors" value="red" checked>apple</input>
<input type="radio" name="colors" value="blue">sky</input>
<input type="radio" name="colors" value="green">grass</input>
</body>  
</html>
Run Code Online (Sandbox Code Playgroud)

Jos*_*zel 11

它不起作用,因为在类似的内容中没有文本这样的东西<input>- 这在XHTML中是非法的.肯定是:

<input type="radio" name="colors" value="red" id="radio1" checked="checked" /><label for="radio1">apple</label>

然后你可以找到里面的文字<label>.