Javascript Datatables:使用剥离HTML进行列搜索

Javascript Datatables:使用剥离HTML进行列搜索,javascript,jquery,datatables,Javascript,Jquery,Datatables,引用数据表 我实现了单个列搜索,需要对其进行扩展: 有一列显示应用了HTML属性/类的按钮。问题是:为了只搜索按钮的标题,我需要去掉HTML。你知道我该怎么做吗 这是我的密码: table().every(function () { var that = this; $('input', this.footer()).on('keyup change', function (e) { if (e.which == 27) { $(this)

引用数据表

我实现了单个列搜索,需要对其进行扩展: 有一列显示应用了HTML属性/类的按钮。问题是:为了只搜索按钮的标题,我需要去掉HTML。你知道我该怎么做吗

这是我的密码:

table().every(function () {
    var that = this;
    $('input', this.footer()).on('keyup change', function (e) {
        if (e.which == 27) {
            $(this).val('');
        }
        if (that.search() !== this.value) {
            that.search(this.value).draw();
        }
    });
});

我相信,您可能需要使用外部(自定义)搜索功能,以便只查找按钮文本(如果您正试图实现这一点的话)

您可以在下面找到演示:

//示例源数据
常数srcData=[
{标题:'apple',猫:'fruit',分数:'good'},
{标题:'草莓',猫:'浆果',分数:'good'},
{标题:'Brocoli',猫:'vegie',分数:'bad'},
{标题:'榴莲',猫:'水果',分数:'坏'}
];
//按钮文本自定义搜索的全局变量
var buttonText='';
//数据表初始化
const dataTable=$(“#mytable”).dataTable({
dom:‘t’,
数据:srcData,
栏目:[
{title:'title',data:'title'},
{标题:'类别',数据:'类别'},
//将分数属性渲染为按钮
{title:'score',data:'score',render:(数据,类型,行,元)=>`${data=='good'?'Love it!':'Hate it!'}}
],
});
//附加和搜索栏
$('#mytable')。追加('');
dataTable.columns().every(函数(){
$('#mytable tfoot tr')。追加(``);
});
//仅跨按钮文本的自定义搜索功能
$.fn.DataTable.ext.search.push((设置、行、行索引、行数据、计数器)=>$(DataTable.row(行索引).node()).find('td:eq(2)按钮').text().toLowerCase().includes(buttonText)| buttonText='');
//在搜索栏中收听“keyup”
$('#mytable')。在('keyup','tfoot td input',函数(){
const colindex=$(this.attr('colindex');
//如果在第三列中输入(colindex==2)
//只需分配全局变量并重新绘制
//要应用自定义搜索的表
if(colindex==2)buttonText=$(this.val().toLowerCase();
//否则按对应列搜索
else dataTable.column(colindex.search($(this.val());
dataTable.draw();
});
tfoot-td{
左侧填充:10px!重要
}

请提供您的HTML,并详细说明需要从
按钮的元素中提取哪些内容。