js中table里的每一行怎么去获得它的行号?

比如<table><tr><td><td></tr><tr><td>在这里有个button,这么在点button之后获得这行的行号<td></tr></table>主要是... 比如
<table>
<tr>
<td><td>
</tr>
<tr>
<td>在这里有个button,这么在点button之后获得这行的行号<td>
</tr>
</table>

主要是想做个button,点一下button就删除button所在的那一行
function tj()
{
var table = document.getElementById("t");

var newTr = table.insertRow();

var newTd1 = newTr.insertCell();
var newTd2 = newTr.insertCell();
var newTd3 = newTr.insertCell();
var newTd4 = newTr.insertCell();

newTd1.innerHTML = "";
newTd2.innerHTML = "";
newTd3.innerHTML = "";
newTd4.innerHTML = "<input type='button' value='删除' onclick='sc()'/>";

newTr.style.backgroundColor = "#E6E6E6";
newTr.align = "center";
}

function sc()
{
if(confirm("确定要删除这一行吗?"))
{

}
}
麻烦高手补充了
展开
 我来答
gmiceyuji
推荐于2016-08-09 · 超过13用户采纳过TA的回答
知道答主
回答量:110
采纳率:0%
帮助的人:51.3万
展开全部
/*********↑不要把简单的问题复杂化**********/
/*****不管是动态生成还是静态生成,此方法通杀******/
直接代码复制出去运行,我已经尽量写简单了,如果你还是不明白,那么...我...
<html>
<head>
<title>1</title>
<script>
//得到行对象
function getRowObj(obj)
{
var i = 0;
while(obj.tagName.toLowerCase() != "tr"){
obj = obj.parentNode;
if(obj.tagName.toLowerCase() == "table")return null;
}
return obj;
}

//根据得到的行对象得到所在的行数
function getRowNo(obj){
var trObj = getRowObj(obj);
var trArr = trObj.parentNode.children;
for(var trNo= 0; trNo < trArr.length; trNo++){
if(trObj == trObj.parentNode.children[trNo]){
alert(trNo+1);
}
}
}

//删除行
function delRow(obj){
var tr = this.getRowObj(obj);
if(tr != null){
tr.parentNode.removeChild(tr);
}else{
throw new Error("the given object is not contained by the table");
}
}
</script>
</head>

<body>
<table border = "1">
<tr>
<td>A<input type="button" value="A" onclick="getRowNo(this)">getRowNo<td>
</tr>
<tr>
<td>B<input type="button" value="B" onclick="delRow(this)">delRow<td>
</tr>
<tr>
<td>C<input type="button" value="C" onclick="getRowNo(this)">getRowNo</td>
</tr>
<tr>
<td>D<input type="button" value="D" onclick="getRowNo(this)">getRowNo</td>
</tr>
</table>
</body>
<html>
miniapp1ojp4uuof5gbq
2008-04-24 · TA获得超过347个赞
知道小有建树答主
回答量:155
采纳率:0%
帮助的人:147万
展开全部
要用到动态的DHTML,我的代码如下,请务必试验一下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<script language="javascript">

var tableBody = null;
function addRows(){
tableBody = document.getElementById("resultsTable");
var cell = document.createElement("<tr>");
var cell2 = document.createElement("<td>")
cell.appendChild(cell2)
cell2.setAttribute("align","center");
var text = document.createTextNode("11111");
cell2.appendChild(text);
tableBody.appendChild(cell);
}
function removeRows(){
tableBody = document.getElementById("resultsTable");
if(tableBody.childNodes.length>0){
tableBody.removeChild(tableBody.childNodes[0]);
}
}
</script>
<body>
<span id="header">
</span>
<input type="button" value="Add-Row" onclick="addRows()"><input type="button" value="Remove-Row" onclick="removeRows()">
<center>
<table width="25%" border="1" onload="create()">
<tbody id="resultsTable">
</tbody>
</table>
</center>

</body>
</html>

如果有问题,欢迎发消息讨论。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fa6f888
2008-04-24 · TA获得超过1056个赞
知道小有建树答主
回答量:519
采纳率:0%
帮助的人:518万
展开全部
<table>
<tr id="testId">
<td><td>
</tr>
<tr>
<td>在这里有个button,这么在点button之后获得这行的行号<td>
</tr>
</table>
.getElementById("testId");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xpenxpen
2008-04-24 · TA获得超过402个赞
知道小有建树答主
回答量:191
采纳率:0%
帮助的人:232万
展开全部
HTML是动态生成的还是静态的?
动态的话,就好办了。你在生成的时候就给这行放一个隐藏域,记下行号。以后就可以直接拿到行号。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wxs67
2008-04-24 · TA获得超过1421个赞
知道小有建树答主
回答量:501
采纳率:0%
帮助的人:516万
展开全部
不用获得行号,不同行用不同的按钮ID。这样就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式