<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>复选框</title>
<SCRIPT LANGUAGE="JavaScript" type="text/javaScript">
<!--
function getValue()
{
var inptAry = document.getElementsByTagName("input"); //得到input元素列表
var chkObj = null; //定义select元素对象
for(var i=0; i<inptAry.length; i++)
{
var inptType = inptAry[i].type; //得到input元素的类型
if(inptType == "checkbox")
{ //复选框
chkObj = inptAry[i];
}
}
window.alert("复选框的值:" + chkObj.value);
}function getIdValue()
{
var chkObj = document.getElementById("chkId");
window.alert("带有Id属性的复选框的值:" + chkObj.value);
}function getNameValue()
{
var chkObj = document.frmData.elements("chkName");
var chkVal = chkObj.value;
window.alert("带有name属性的复选框的值:" + chkVal);
}function getDOMValue()
{
var _tb = document.getElementById("tbSlt"); //得到table元素对象
var _td = _tb.lastChild.lastChild.firstChild; //这里为什么是两个lastChild?
//个人理解:_tb.lastChild就可以得到最后一个tr元素了。
var _chkObj = _td.firstChild; //得到复选框对象
window.alert("使用DOM获取复选框的值:" + _chkObj.value);
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<form name="frmData" method="post" action="#">
<table width="300" align="center" border="1" cellspacing="0" id="tbSlt">
<tr>
<td width="120"><input type="checkbox" value="123"></td>
<td>
<input type="button" value="获取值" onclick="getValue()">
</td>
</tr>
<tr>
<td width="120"><input type="checkbox" id="chkId" value="234"></td>
<td>
<input type="button" value="获取值" onclick="getIdValue()">
</td>
</tr>
<tr>
<td width="120"><input type="checkbox" name="chkName" value="345"></td>
<td>
<input type="button" value="获取值" onclick="getNameValue()">
</td>
</tr>
<tr>
<td width="120"><input type="checkbox" value="456"></td>
<td>
<input type="button" value="获取值" onclick="getDOMValue()">
</td>
</tr>
</table>
</form>
</BODY>
</HTML>期待解答,谢谢!!
主要是看下这个函数function getDOMValue()
{
var _tb = document.getElementById("tbSlt"); //得到table元素对象
var _td = _tb.lastChild.lastChild.firstChild; //这里为什么是两个lastChild?
//个人理解:_tb.lastChild就可以得到最后一个tr元素了。 var _chkObj = _td.firstChild; //得到复选框对象
window.alert("使用DOM获取复选框的值:" + _chkObj.value);
}
.lastChild//tbody
.lastChild//tr
.firstChild;//td
var _td = _tb//table
.lastChild//tbody
.lastChild//tr
.firstChild;//td大部分情况是错的, 只有 如
<table><tr><td>hello</td>.... 这样所有标签紧挨在一起, 和ie的表现才一致