<tr>
<td><?= $row['student'] ?></td>
<td><?= $row['StudentID'] ?></td>
<td><?= $row['TeamMark'] ?></td>
<td><input type="text" name="final_grade" /></td>
<td><input type="submit" value="grade" onclick="GRADE(this.parentNode.parentNode.childNodes[7].innerHTML)" /></td>
</tr>
点击按钮,输出<input name="final_grade" type="text">,如果把GRADE的参数变成this.parentNode.parentNode.childNodes[7].type/value等,输出都是undefined,为什么,我想得到它的value,求指导
并且节点上面为何是第7个子节点?搞不懂
<td><?= $row['student'] ?></td>
<td><?= $row['StudentID'] ?></td>
<td><?= $row['TeamMark'] ?></td>
<td><input type="text" name="final_grade" /></td>
<td><input type="submit" value="grade" onclick="GRADE(this.parentNode.parentNode.childNodes[7].innerHTML)" /></td>
</tr>
点击按钮,输出<input name="final_grade" type="text">,如果把GRADE的参数变成this.parentNode.parentNode.childNodes[7].type/value等,输出都是undefined,为什么,我想得到它的value,求指导
并且节点上面为何是第7个子节点?搞不懂
<head><title>onresize test</title>
</head><body>
<input type="text" name="final_grade" id='aa' value='aasdfasd'/>
<script type="text/javascript"> alert(document.getElementById('aa').type);
alert(document.getElementById('aa').value);
</script>
</body>
</html>做了个简单的测试。。这样是可以输出来的
{
alert(temp);
}
你只是这个方法返回为空。。
但是你this.parentNode.parentNode.childNodes[7].getAttribute('value')这个返回什么值啊。。
{
alert(temp);
}它这个方法就输出null
this.parentNode.parentNode.childNodes[7].firstChild 才是其下的input节点 但只能获得其outerHTML 不能获得其value
应该使用Document对象取 而不是xml的DOM文档节点取
getElementById() getElementsByName()这类方法获取标签对象你的例子要取标签本身的值 直接onclick="GRADE(this.value)";不就得了 至于GRADE不知道你这方法干什么用的
function init(){
var tds=document.getElementsByTagName("td");
for(var i=0;i<tds.length;i++){
tds[i].onclick=mm;
}
}
function mm(){
var tr=this.parentNode;
var td=tr.childNodes[0];
alert(td.innerHTML);
}
window.onload=init;
</script>
</head><body>
<table>
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
</tr>
</table>
</body>
像这样 大体意思是当点击任意一个td时则输出该行下的第一个td ie下没问题,火狐下就是undefined了,而且得到的子节点数也不一样 难道是事件捕捉和冒泡所致 迷惑了 呵呵 求高手简答
alert(document.getElementsByTagName("table")[0].getElementsByTagName("tr")[n-1].getElementsByTagName("td")[m-1].innerHTML);
把innerHTML换成.getElementsByTagName("input")[0]取得input标签 再加.value取得其值