列に対する私の推奨手法 (複数の列スパンを持つセルがない場合) は、列ごとに一意の css クラスを使用し、そのクラスをセレクターとして使用することです。実際の css クラスに対応している必要はありません。識別可能である必要があります。
<table class="firstTable">
<tr>
<td class="column1"></td>
<td class="column2"></td>
<td class="column3"></td>
</tr>
<tr>
<td class="column1"></td>
<td class="column2"></td>
<td class="column3"></td>
</tr>
</table>
<table class="secondTable">
<tr>
<td class="column1"></td>
<td class="column2"></td>
<td class="column3"></td>
</tr>
<tr>
<td class="column1"></td>
<td class="column2"></td>
<td class="column3"></td>
</tr>
</table>
共通セレクターを使用して、列を非表示にできます。
$(".firstTable .column2").hide();
ヘッダーのリンクからこれにアクセスするには、リンクにデータ属性を指定して、それがどの列にあるかを示すか、その親を使用します。
<a href="#" data-column="column2" data-table="firstTable" class="columnHeader">Column Header</a>
$(".columnHeader").click(function(event) {
var col = $(this).attr("column");
var table = $(this).attr("table");
$("." + table + " ." + col).hide();
});
特定の要件やページ構造がわからないため、この投稿されたコードには明らかな穴がありますが、ここでの概念はかなり適応できるはずです。