我正在使用jQuery DataTables 插件,并且其中的过滤功能有一点问题。如果我有一个内容为 的表格单元格<a href='foo6'>Blah</a>
,并且我过滤了“6”,那么即使“Blah”中没有“6”,该单元格也会显示出来。我想做的是让 DataTables 插件在过滤时忽略 HTML。
我试过搜索 DataTables 网站,发现相互矛盾、无用的线索。一篇文章建议我sType:'html'
在 aaColumns 的定义中需要一个选项,但我试过了,但没有帮助……另外,后来的一篇文章建议当前版本的 DataTables 自动检测 HTML sType。我还发现了这个代码片段:
// Make filtering ignore HTML (see http://datatables.net/plug-ins/filtering)
$.fn.dataTableExt.ofnSearch['html'] = function ( sData ) {
var n = document.createElement('div');
n.innerHTML = sData;
if (n.textContent) {
return n.textContent.replace(/\n/g," ");
} else {
return n.innerText.replace(/\n/g," ");
}
};
这应该解决问题......但它没有。
所以,我的问题是:有没有人知道如何让 DataTables 在过滤行时忽略非文本(即 HTML)内容?