2015-03-13 4 views
9

Ich würde gerne wissen, wie man auf eine Schaltfläche in einer HTML-Tabelle klicken und erhalten die Zeilen- und Spaltennummer an mich zurückgegeben: Zum Beispiel mit den folgenden Tabelle:Klicken Sie auf HTML-Tabelle und erhalten Zeilennummer (mit Javascript, nicht jquery)

<table> 
    <tr> 
    <td><input type="button" value="button"></td> 
    <td><input type="button" value="button"></td> 
    <td><input type="button" value="button"></td> 
    </tr> 
    <tr> 
    <td><input type="button" value="button"></td> 
    <td><input type="button" value="button"></td> 
    <td><input type="button" value="button"></td> 
    </tr> 
    <tr> 
    <td><input type="button" value="button"></td> 
    <td><input type="button" value="button"></td> 
    <td><input type="button" value="button"></td> 
    </tr> 
    </table> 

Wie würde ich verwenden JavaScript auf der ersten Taste in der zweiten Reihe zu klicken und sie haben mir sagen, dass ich auf der ersten Zelle in der zweiten Reihe angeklickt? Muss jede Taste eine eindeutige ID haben oder nicht?

+0

Reihen haben [ 'rowIndex'] (https: //developer.mozilla. org/de-DE/docs/Web/API/HTMLTableRowElement/Zeilenindex). und Zellen haben ['cellIndex'] (https://developer.mozilla.org/en-US/docs/Web/API/HTMLTableCellElement). Sie können sie verwenden [so ...] (http://jsfiddle.net/eoemydb5/) – Teemu

Antwort

20

Versuchen Sie folgendes:

function getId(element) { 
 
    alert("row" + element.parentNode.parentNode.rowIndex + 
 
    " - column" + element.parentNode.cellIndex); 
 
}
<table> 
 
    <tr> 
 
    <td><input type="button" value="button" onclick="getId(this)"></td> 
 
    <td><input type="button" value="button" onclick="getId(this)"></td> 
 
    <td><input type="button" value="button" onclick="getId(this)"></td> 
 
    </tr> 
 
    <tr> 
 
    <td><input type="button" value="button" onclick="getId(this)"></td> 
 
    <td><input type="button" value="button" onclick="getId(this)"></td> 
 
    <td><input type="button" value="button" onclick="getId(this)"></td> 
 
    </tr> 
 
    <tr> 
 
    <td><input type="button" value="button" onclick="getId(this)"></td> 
 
    <td><input type="button" value="button" onclick="getId(this)"></td> 
 
    <td><input type="button" value="button" onclick="getId(this)"></td> 
 
    </tr> 
 
</table>

+0

Sie könnten dies leicht zum TD hinzufügen und eine der parentNode-Funktionen nicht löschen Benutze die Knöpfe. – Gremash

+2

Ich versuche "element.parentNode.parentNode.rowIndex", aber es gibt undefined zurück – anhtv13

3

Die meisten generische Version von @Gremash js Funktion

function getId(element) { 
    alert("row" + element.closest('tr').rowIndex + 
    " -column" + element.closest('td').cellIndex); 
} 
Verwandte Themen