如何查找具有行和列索引的特定单元格的内容?

时间:2012-07-22 07:12:40

标签: javascript

使用单元格的坐标我想找到特定单元格的内容。我的意思是,如果我们有特定单元格的行索引和列索引,我们希望通过传递索引来获取该特定单元格的内容将cell作为函数中的参数,然后在html表中搜索该特定单元格的内容。

function createtable() {
  function displaytable(argument) {
    var tr=document.createElement('tr');
    for (var i=0; i < argument.length; i++) {
      var td=document.createElement('td');
      if (i == 0) {
        td.appendChild(document.createTextNode(argument[i]));
      }
      if (i == 1) {
        td.appendChild(document.createTextNode(argument[i]));
      }
      if (i == 3) {
        td.appendChild(document.createTextNode(argument[i]));
      }
      if (i == 2) {
        td.ondblclick= function () {
        var column_index= (this.cellIndex) -1;
        var row_index= (this.parentNode.rowIndex);
        search_cell(row_index,column_index);
      }
      td.appendChild(document.createTextNode(argument[i]));
    }
    tr.appendChild(td);
  }
   document.getElementById('table_body').appendChild(tr);
 }
 document.write("<table border=\"1\"><tr><th>INDEX</th><th>--CELL NAME--</th><th>--PIN NAME--</th><th>--PG PIN--</th></tr><tbody id='table_body'></tbody></table>");

 for (var x=0; x < array_cells.length; x++) {
   displaytable([x+1,array_cells[x].cell,array_cells[x].pins,array_cells[x].pg_pins])
 }
 function search_cell(row_index,column_index) {
   //What to write over here
 }
}

4 个答案:

答案 0 :(得分:1)

标记:

<td onclick="click(event)">content</td>

JS:

function click(event)
{
    var target = event.target || event.srcElement;
    var content = target.innerHTML || target.textContent;
}

http://jsfiddle.net/NRKsT/

答案 1 :(得分:1)

您需要向表中添加一个事件监听器,然后像这样获取事件的目标innerHTML:

yourTable.addEventListener('click', function (event) {
    console.log(event.target.innerHTML);
});

您不需要为每个单元格添加侦听器,这会浪费资源,请为表格使用一个全局侦听器。

答案 2 :(得分:1)

假设这是您的HTML:

<table>
    <tr>
        <td>Cell 1</td>
        <td>Cell 2</td>
        <td>Cell 3</td>
    </tr>
    <tr>
        <td>Cell 4</td>
        <td>Cell 5</td>
        <td>Cell 6</td>
    </tr>
</table>

这个jQuery代码可以满足您的需求:

$(document).ready(function() {
    $('td').click(function() {
       somevar = this.innerHTML;
       alert( this.innerHTML );
    });
});

如果您更喜欢简单的JavaScript,那么:

var temp = document.getElementsByTagName('td');
for( var i = 0; i < temp.length; i++ ) {
    temp[i].addEventListener('click', function (event) {
       alert( this.innerHTML );
    });
}

答案 3 :(得分:0)

如果你在javascript中构建这个表,最简单的方法是在你返回this.innerHTML

的单元格中添加一个onclick方法。
var e = document.createElement('td');
e.onClick = function(){
   doSomeThingWith( this.innerHTML);
}