私は以下のようにHTMLテーブルを持っています。非ヘッダー行の最後には、コピー用と編集用の2つのリンクがあります。クリックすると、下に定義されているJavaScript関数がトリガーされます。HTMLハイパーリンクを使用して親要素のJS関数を呼び出す
function editRow(el) {
//alert function added for debug purposes
alert(el.rowIndex);
}
<table>
<tr>
<th>Date</th>
<th>Tools</th>
</tr>
<tr>
<td>20 October 2017</td>
<td>
<a href="javascript:editRow(this)">Edit</a>
<a href="javascript:copyRow(this)">Copy</a>
</td>
</tr>
<tr>
<td>19 October 2017</td>
<td>
<a href="javascript:editRow(this)">Edit</a>
<a href="javascript:copyRow(this)">Copy</a>
</td>
</tr>
</table>
ただし、アラートは常にundefined
を言います。これは、ハイパーリンクがテキストではなくセルで関数を呼び出すためだと思います。 editRow(this)
の呼び出しを親要素で呼び出す呼び出しに変更するにはどうすればよいですか?私はeditRow(parent)
とeditRow(this.parent)
を試しましたが、何も役に立ちませんでした。
あなたは 'にconsole.log(エル)'関数では、 'this'が実際に何であるかを学ぶかもしれないが、そこから作業した場合。 – GolezTrol