2011-12-07 22 views
0

我已經動態創建HTML表格,單擊它的TH將根據排序的列重新加載表。通過使用jquery的文本找到TH對象(表頭),而無需遍歷表中的所有TH

我想要的是應用一個類的TH點擊。

由於表重新加載,我首先將點擊的列名放在全局變量中,然後當表重新加載時,我想應用CSS類。

需求是我想通過文本搜索TR中的TH(不迭代所有元素),然後應用一個類。

任何幫助表示讚賞

感謝

編輯:

我們不能使用:含有監守兩個列名可以包含類似文本標題

+0

可能我們可以使用jquery查找不知道如何。 – Moons

+0

什麼是「沒有迭代所有元素」?沒有迭代所有錶行,所有表頭,所有表格單元,根本不迭代? – mrtsherman

+0

@mrtsherman沒有迭代所有的TH – Moons

回答

1

jQuery的filter功能允許您指定一個函數被用作過濾器。

$("th").filter(function() { 
    return $(this).text() == "foo"; 
}).addClass("newClass"); 
+0

這解決了我的問題,但你錯誤地使用文本,而不是文本()。 PLease correct – Moons

+0

@Kamal - 我確實 - 謝謝你 - 它是固定的 –

0

要應用類的日點擊時:

$(function() { 

    $('th').on('click', function() { 
    $(this).addClass('myClickedClass'); 
    }); 

}); 

如果你想申請基於字符串匹配的類,使用此:

$(function() { 

    $("th:contains('" + myStringValue + "')").addClass('myClickedClass'); 
}); 
+0

如果兩列有類似id的名字,那麼brand_id包含的值將包含兩個類,如果contains值爲「ID」 – Moons

+0

這是真的。 Adam的解決方案對於精確匹配是正確的。 –