$("<tr><td><input type='checkbox' class='ceckbox2' name='chkSelectableTaskList' taskid='" + data[i].TaskId + "' /></td><td onclick='showTaskFiles(this)'>" + data[i].TaskName + "</td><td>" + data[i].StartTime + "</td></tr>").insertAfter("#tblSelectableTaskList tr:last");
function showTaskFiles(src) {
var checkbox = document.getElementsByName("chkSelectedTaskList");
for (var i = 0; i < checkbox.length; i++) {
checkbox[i].checked = false;
} src.childNodes[0].childNodes[0].checked = true;//出错 }但是这样就可以使用showTaskFiles()
<tr id="1" onclick=" showTaskFiles(this)">
<td>
<input type="checkbox" name="cb" id="Checkbox3" class="cb" />
</td>
<td style="display: none">
11
</td>
</tr>
childNodes 兼容性不好在ff chrome 中都把空白节点当作一个子节点! 建议用 getElementsByTagName 来代替或者: 判断一下是否非空白节点function getFirstChild (obj) {
var result = obj.firstChild ;
while(result!=null &&!result.tagName) {
result = result.firstChild ;
}
return result;
};
首先你应该判断一下childNodes[0].firstChild是不是单选按钮或者复选框
有可能是空白节点