2014-09-23 51 views
0

如何在数据表中查找/替换特定元素?我试图用字体真棒图标替换表元素:Datatables查找替换如果声明

的JavaScript:

$(document).ready(function() { 
    $('#example').dataTable(); 
    $('td').html().replace('0', '<i class="fa fa-thumbs-o-up"></i>'); 
    $('td').html().replace('1', '<i class="fa fa-warning"></i>'); 
}); 

JFiddle:http://jsfiddle.net/wo02xedr/

回答

1

你的代码的某些位是错误的,在这里,你去..

$(document).ready(function() { 
    $('#example').dataTable(); 
    $("td").each(function() { 
    $(this).html($(this).html().replace('0', '<i class="fa fa-thumbs-o-up"></i>').replace('1', '<i class="fa fa-warning"></i>')); 

}); 
}); 

这里是的jsfiddle链接http://jsfiddle.net/wo02xedr/2/

+0

添加引导CSS中的jsfiddle ...查看输出.. – void 2014-09-23 16:52:22

+0

感谢@FREAKENGINEER。我怎么在一张桌子上做呢?当我把一个表格对象代替“td”时,它不喜欢它:http://jsfiddle.net/wo02xedr/9/ – solar411 2014-09-23 17:02:43

+0

你不能迭代thorugh #example,它们只是一个元素有id“example” .. – void 2014-09-23 17:04:49

2

迭代文本并使用old参数替换:

$('td').text(function (i, old) { 
    $(this).html(old.replace('0', '<i class="fa fa-thumbs-o-up"></i>').replace('1', '<i class="fa fa-warning"></i>')) 
}); 

jsFiddle

+1

一些问题与你的jsfiddle! – void 2014-09-23 16:53:19

1

我看到了一些改进:

  1. 首先,你应该循环中各元素通过$("td").each(function() {...})
  2. 更新HTML您的td s(这里您只能阅读它):$this.html(...)

这给了这样的事情:

$('td').each(function() { 
    var $this = $(this); 

    $this.html($this.html() 
     .replace('0', '<i class="fa fa-thumbs-o-up"></i>') 
     .replace('1', '<i class="fa fa-warning"></i>')); 
}); 

看到这个小提琴:http://jsfiddle.net/wo02xedr/8/