我是JQuery的新手。我有兩個表格:table1在HTML中被硬編碼,table2是從一個從csv文件加載的數組中使用javascript生成的。在顯示第二個表之後,我想要突出顯示(以及稍後處理)用戶使用JQuery單擊的行。下面簡化的代碼。使用Javascript + JQuery訪問自動生成的表中的行
硬編碼表:
<table id="table1">
<tr> <td>cell1</td><td>cell2</td><td>cell3</td> </tr>
<tr> <td>cell4</td><td>cell5</td><td>cell6</td> </tr>
</table>
來自ID爲 「數據」 的陣列生成表(正常工作):
<script type="text/javascript">
function createTable(){
var content = "";
data.forEach (function(row){
content += "<tr>";
row.forEach (function(cell)
{ content += "<td>" + cell + "</td>"; });
content += "</tr>"; });
document.getElementById("table2").innerHTML = content; }
</script>
jQuery腳本做任何在表中的行,例如單擊行時顯示警報:
<script>
$("tr").click(function()
{
alert("do something");
});
</script>
此代碼對於生成的表2不起作用。它只有當我嘗試突出顯示整個表格(使用$("table")
)時才起作用,但是當我嘗試突出顯示它的任何元素時(tr,td),它不起作用。它適用於硬編碼表格1。
我嘗試過使用不同的元素,如$("#table2 :td")
,$("#table2 td")
等,但無濟於事。我怎樣才能訪問整個桌子,但不是它的元素?
謝謝,我不知道我所尋找的是所謂的「委託事件」。 – aethalyste