我使用tablesorter JQUery插件通過單擊列來對HTML表格的行進行排序。在大多數情況下,表格單元格包含簡單的標記,如<td>hello</td>
,因此默認行爲可以正常工作。按包含標記的列對錶格行進行排序
但是,表中的一列包含這樣
<td>
<a id="1" class="festivalSubscribe " action="create"
controller="festivalSubscription" onclick="/* Lots of Javascript */">Not Subscribed
</a>
<a id="1" class="festivalUnsubscribe hide" action="delete"
controller="festivalSubscription" onclick="/* Lots of JavaScript */">Subscribed
</a>
</td>
此列中的每個單元包含兩個鏈接的細胞(如上述),其中之一將始終是不可見的(一個與hide
類) 。我想按可見鏈接文本(「未訂閱」或「訂閱」)對此列進行排序。
該插件提供了選項來定義a function,其結果將用於確定如何對列進行排序,例如,
textExtraction: function(node) {
// extract data from markup and return it
return node.childNodes[0].childNodes[0].innerHTML;
}
但是,我無法找到一個方法來定義這個函數,它將正確排序的簡單情況<td>hello</td>
和上述更復雜的情況。
也許.innerText,所以你只能得到實際的文字內容而不是標籤? – 2012-01-11 15:28:41
我想要的是哪個鏈接的文本不是'hide'類的成員,但我不知道如何在JQuery中表達該內容 – 2012-01-11 15:38:34
但是,對於大多數現代瀏覽器,您可以使用'node.textContent'一些較舊的瀏覽器必須使用'node.innerText'。 – 2012-01-11 15:45:23