如何在使用DOM创建行时获取行索引

时间:2012-01-25 14:30:06

标签: javascript dom

  

可能重复:
  Retrieve Table Row Index of Current Row

<html>
 <script>
 function addValue(a) {

      var element1  = document.createElement('tr');
      var element2 = document.createElement('td');
      var text = document.createTextNode(a);
      var table  = document.getElementById('t');
      element2.appendChild(text);
      element1.appendChild(element2);
      table.tBodies(0).appendChild(element1);
    }
</script>
Name: <input type="text" name="a">
<input type="button" value="Add" onClick='javascript:addValue(a.value)'>
<table id="t" border="1">
<tr><th>Employee Name</th></tr>
</table>
</html>

这是我的代码示例,现在当用户点击任何一行时,我怎么能得到rowIndex

1 个答案:

答案 0 :(得分:1)

我有这个功能,我创建,它工作得很好:

getIndex = function (elem, collection) {
    var index = 0;
    for(var cont = 0; cont < collection.length; cont++){
        if(collection[cont].tagName == elem.tagName)
            index++;            
        if(collection[cont] === elem)
            break;      
    }
    return index - 1;
}

你使用它像: 首先你在HTML中改变一点:

<input type="button" value="Add" onClick='javascript:addValue(this, a.value)'>

这可以让你知道哪个被点击了; 那么,你的功能:

function addValue(row, a) {
 var table  = document.getElementById('t');
 var rowIndex = getIndex(row, table);
  ....
}