2013-02-06 186 views
-1

當我將鼠標懸停在表格單元格上時,會在內容旁邊顯示一條編輯鏈接。我想獲得該單元格的內容。 jQuery有可能嗎?如何使用jQuery獲取表格單元格的內容?

的HTML頁面是這樣的:https://gist.github.com/anonymous/4721230

表,由JavaScript生成的一部分。 https://gist.github.com/anonymous/4721245

+0

你能發表該td的內部html嗎? –

+0

@DonatasOlsevičius,它是通過從遠程服務器獲取JSON數據而創建的。 http://www.datatables.net/release-datatables/examples/server_side/server_side.html – ilhan

+0

在該示例中,我看不到任何編輯鏈接。你可以在網上顯示你的工作版本,或只是粘貼生成的td html? –

回答

1

這裏是一個可能的解決方案 - Here the fiddle

js代碼

var table = $('#tblFollow'); 


table.dataTable({ 
    sDom: "t", 
    aoColumns: [ 
     null, 
     null, 
     { bSortable: false } 
    ] 
}); 



table.on('click', 'a', function(e){ 
    var followingCell = $(this).parents('td').prev(); 
    var rowIndex = table.fnGetPosition($(this).closest('tr')[0]); 
    var aData = table.fnGetData(rowIndex ); 
    alert (aData[0] + "/" + aData[1]+ "/" + aData[2]); 

    return false; 
}); 

html代碼

<table id="tblFollow"> 
    <thead> 
     <tr> 
      <th>id</th> 
      <th>name</th> 
      <th>link</th> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td>1</td> 
      <td>John</td> 

      <td><a href="#">Link</a></td> 
     </tr> 
     <tr> 
      <td>2</td> 
      <td>Bill</td> 

      <td><a href="#">Link</a></td> 
     </tr> 
     <tr> 
      <td>3</td> 
      <td>Anna</td> 

      <td><a href="#">Link</a></td> 
     </tr> 
     <tr> 
      <td>4</td> 
      <td>Dick</td> 
      <td><a href="#">Link</a></td> 
     </tr> 
     <tr> 
      <td>5</td> 
      <td>Jane</td> 

      <td><a href="#">Link</a></td> 
     </tr> 
    </tbody> 
</table> 
+0

這是我想要的確切的東西,但它不起作用,因爲當我將鼠標懸停在單元格上並因此單擊事件無法將其自身附加到鏈接時,就會生成鏈接。 http://i.imgur.com/iO3YRx7.png。 – ilhan

+0

顯示您的代碼,嘗試檢查'event'對象,'event.target'找到一種方法來獲取鏈接和源調用者之間的連接 – Daniel

+0

這工作'$(this).parents('td')。next ().next()。next()。next()。next()。next()[0] .innerHTML' – ilhan

0

絕對。

<table id="this_is_the_one"> 
<tbody> 
    <tr> 
    <td> 
    content 1 
    </td> 
    <td> 
    content 2 
    </td> 
    </tr> 
</tbody> 
</table> 

<script type="text/javascript"> 
$('#this_is_the_one td').on('click', function() { 
    alert($(this).html()); 
    //$(this) returns the <td> element being pressed 
}); 
</script> 

如果你有在表格單元格的格式代碼(HTML),你不希望他們顯示出來,你也可以把HTML和display it in a dialog box,或者你可以(正在生成表時在PHP腳本中)添加屬性到純文本內容並使用$(elem).prop(prop-name)函數來獲取該屬性的值。

0

你能做到這樣:

$("#test td").on("mouseover",function(){ 
    alert($(this).text()) 
}) 

這裏也是jsFiddle

相關問題