2016-09-05 7 views
1

私は画像の下のようなように、そのヘッダーの列の任意のセルをクリックすることで、列のセルのヘッダ名を取得するためにWANおよびここに私はこれが私のHTML
javascriptを使用して列セル内のスパンをクリックしてセルのヘッダーテキストを取得する方法は?

<table> 
    <thead> 
     <tr>   
      <th>head1</th> 
      <th>head1</th> 
      <th>head1</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr>   
      <td><span class="abc"></span></td> 
      <td></td> 
      <td></td> 
     </tr> 
     <tr> 
      <td><span class="abc"></span></td> 
      <td></td> 
      <td></td> 
     </tr> 
     <tr>  
      <td><span class="abc"></span></td> 
      <td></td> 
      <td></td> 
     </tr> 
    </tbody> 
</table> 
あるスパン

にクラスを持っています

enter image description here


どれでもこれに役立つことがありますか?

+0

i「は、<スパンクラスは= 『ABC』>を持っている細胞のみをクリックして、アラートのヘッダを表示したい場合は、マークアップに –

答えて

1

これを行う1つの方法は、各テーブルセルにクリックハンドラを割り当て、クリックが発生した列番号を追跡することです。次に列番号を使用して、その列の<th>要素のテキストを読み取ることができます。

var table = document.querySelector('table'), 
    rows = table.rows 

for(var r=0; r<rows.length; r++) { 
    var cells = rows[r].querySelectorAll('td') 
    for(var c=0; c<cells.length; c++) { 
    (function(col) { 
     cells[col].addEventListener('click', function() { 
     alert(rows[0].querySelectorAll('th')[col].textContent) 
     }) 
    })(c) 
    } 
} 

Here is a working demo

+0

感謝を共有し、それが正常に動作している、 が、何 'タグ – Madhav

+0

次に、DOMメソッドを使用してその要素にトラバースします。 – geekonaut

関連する問題