代码如下:<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>无标题页</title>
<script language="javascript" type="text/javascript">
function getTableObj() {
var senderObj = window.event.srcElement;
var tableObj = getTable(senderObj);
var tableID = tableObj.id;
}
//递归方法
function getTable(senderControl) {
var parentObj = senderControl.parentNode;
var a = parentObj.tagName;
if(parentObj.tagName == "TABLE") {
return parentObj
}
getTable(parentObj);
}
</script>
</head>
<body>
<table id="tableContent">
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td><input type="button" value="获取table对象" onclick="getTableObj();" /></td>
</tr>
</table>
</body>
</html>点击行内的按钮,然后通过这个按钮获取他所在的table对象。
我写的那个递归方法有问题,返回的是undefined,请大家帮我看看。
<head>
<title>无标题页</title>
<script language="javascript" type="text/javascript">
function getTableObj() {
var senderObj = window.event.srcElement;
var tableObj = getTable(senderObj);
var tableID = tableObj.id;
}
//递归方法
function getTable(senderControl) {
var parentObj = senderControl.parentNode;
var a = parentObj.tagName;
if(parentObj.tagName == "TABLE") {
return parentObj
}
getTable(parentObj);
}
</script>
</head>
<body>
<table id="tableContent">
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td><input type="button" value="获取table对象" onclick="getTableObj();" /></td>
</tr>
</table>
</body>
</html>点击行内的按钮,然后通过这个按钮获取他所在的table对象。
我写的那个递归方法有问题,返回的是undefined,请大家帮我看看。
这里有问题 你可以在判断前输出tagName看看是什么样的
<input type="button" value="获取table对象" onclick="getTableObj(this);" />
function getTableObj(obj) {
var tableObj;
var pNode=obj.parentNode;
while(pNode){
if(pNode.tagName.toLowerCase()=="table"){
tableObj = pNode;
break;
}
else{
pNode=pNode.parentNode;
}
}
alert(tableObj.id);
}
你那个方法有点毛病 ,应该是不是table就调用自己 。
是的话就return !
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>无标题页</title>
<script language="javascript" type="text/javascript">
function getTableObj(e) {
e = e || window.event;
var senderObj = e.srcElement || e.target;
var tableObj = getTable(senderObj);
var tableID = tableObj.id;
alert(tableID);
}
//递归方法
function getTable(senderControl) {
var parentObj = senderControl.parentNode;
var a = parentObj.tagName;
if(parentObj.tagName == "TABLE") {
return parentObj;
}
return getTable(parentObj);
}
</script>
</head>
<body>
<table id="tableContent">
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td><input type="button" value="获取table对象" onclick="getTableObj(event);" /></td>
</tr>
</table>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>无标题页</title>
<script language="javascript" type="text/javascript">
function getTableObj(e) {
e = e || window.event;
var senderObj = e.srcElement || e.target;
var tableObj = getTable(senderObj);
var tableID = tableObj.id;
alert(tableID);
}
function getTable(senderControl) {
var parentObj = senderControl.parentNode;
var a = parentObj.tagName;
if(parentObj.tagName == "TABLE") {
return parentObj;
}
return getTable(parentObj);
}
</script>
</head>
<body>
<table id="tableContent">
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
<td><input type="button" value="获取table对象" onclick="getTableObj(event);" /></td>
</tr>
</table>
</body>
</html>