[英]Accessing the contents of a table cell in Javascript
我在HTML的表格单元格元素中嵌套了一个复选框。 如何从Javascript访问内部复选框? 我看到的所有示例都改变了内部HTML本身或视觉属性,这不是我感兴趣的内容。我尝试了childNodes数组,但显然它是空的。
如果您不使用jQuery,则可以执行以下操作:
document.getElementsByTagName('input');
然后循环遍历它们以找到一个复选框,parentNode是表单元格。
或者非常简单地将ID添加到该复选框。
如果您使用的是jQuery,它非常简单;
$('table td input:checkbox')
UPDATE
没有jQuery的。
<table id='table'>
...
<td><input name='input' type='checkbox' /></td>
</table>
var table = document.getElementById('table');
var inputs = table.getElementsByTagName('input')
var chkbox = [];
for (var i=0; i< inputs.length;i++) {
if (inputs[i].type == 'checkbox') {
chkbox.push(inputs[i]);
}
}
现在您所有的复选框都在chkbox数组中
如果要从表单访问它也很容易:
var ckbox = document.formname.checkboxname;
您可以使用ID ...
演示: http : //jsfiddle.net/YTDeW/1/
document.getElementById('ck1').value;
...
<table>
<tr>
<td>checkbox 1<input type="checkbox" id="ck1" name="ck" value="check1" /></td>
<td>checkbox 2<input type="checkbox" id="ck2" name="ck" value="check2" /></td>
<td>checkbox 3<input type="checkbox" id="ck3" name="ck" value="check3" /></td>
</tr>
</table>
...
或者您可以获取所有具有相同name
属性的...
var y = document.getElementsByName('ck');
for (var i = 0; i < y.length; i++) {
document.getElementById('trace').innerHTML += "<br />" + y[i].value;
}
如果您以表格形式输入,那么出于访问目的,您可以完全忽略该表:
<form name="aForm" ...>
// Whatever table structure you like
<input name="anInput" ...>
</form>
您可以通过以下方式访问输入:
var inp = document.aForm.anInput;
或更正式地为:
var inp = document.forms['aForm'].elements['anInput'];
注意,如果你有在形式与名称anInput不止一种形式的控制, inp
将这些元素的集合。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.