9

HTMLテーブル内のTDの値を取得するにはどうすればよいですか?

すなわち

| ID | cell 1 | cell 2 |
| 1  | aaaa   | a2a2a2 |
| 2  | bbbb   | b2b2b2 |
| 3  | cccc   | c2c2c2 |

したがって、セルの値「bbbb」をクリックすると、選択した行のすべての値を取得したいと思います。

$id='2'; $cell_1='bbbb'; $cell_2='b2b2b2';

注: jQueryではなくJavaScriptを使用したいと思います。

4

4 に答える 4

13

javascript には event.target.innerText を、jQuery には $(event.target).text() を使用できます。jQuery はクロス ブラウザーの互換性を処理するため、推奨されるソリューションです。

JavaScriptのみを使用する

ライブデモ

HTML

<table id="tableID" onclick="myFun(event)" border="1">
  <tr>
     <td>row 1, cell 1</td>
     <td>row 1, cell 2</td>
  </tr>
  <tr>
     <td>row 2, cell 1</td>
     <td>row 2, cell 2</td>
  </tr>
</table>​

Javascript

function myFun(e){ 
    alert(e.target.innerText); //current cell
    alert(e.target.parentNode.innerText); //Current row.
}​

jQuery の使用

ライブデモ

HTML

<table id="tableID" border="1">
   <tr>
       <td>row 1, cell 1</td>
       <td>row 1, cell 2</td>
   </tr>
   <tr>
       <td>row 2, cell 1</td>
       <td>row 2, cell 2</td>
    </tr>
</table>​

Javascript

$('#tableID').click(function(e){
    alert($(e.target).text()); // using jQuery
})
于 2012-12-27T08:50:05.363 に答える
2

これがお役に立てば幸いです。クロスブラウザスクリプトが含まれています。

 <html>
    <head>
    <script type="text/javascript">
    function myFun(e){
    if(!e.target)
        alert(e.srcElement.innerHTML);
    else
        alert(e.target.innerHTML);
    }
    </script>
    </head>
    <body>
    <table id="tableID" onclick="myFun(event)" border="1">
    <tr>
    <td>row 1, cell 1</td>
    <td>row 1, cell 2</td>
    </tr>
    <tr>
    <td>row 2, cell 1</td>
    <td>row 2, cell 2</td>
    </tr>
    </table>
    </body>
    </html>
于 2012-12-28T09:41:01.417 に答える
2
var table = document.getElementById('tableID'),
    cells = table.getElementsByTagName('td');

for (var i=0,len=cells.length; i<len; i++){
    cells[i].onclick = function(){
        console.log(this.innerHTML);
        /* if you know it's going to be numeric:
        console.log(parseInt(this.innerHTML),10);
        */
    }
}

ここから

于 2012-12-27T08:54:08.567 に答える
1

jqueryを使えば簡単に..

$("#tableId").find("td").click(function(event){
   var listOfCell=$(this).siblings();
   for(i=0;i<listOfCell.length;i++){
   alert($(listOfCell[i]).text());
}
}); 
于 2012-12-27T08:54:22.223 に答える