修剪表格单元格中的空白区域

时间:2014-05-22 15:06:50

标签: javascript jquery

如果我可以获得有关如何在表格单元格的开头和结尾删除空格的帮助,我会很高兴。以下比较两个单元格,如果不同,则newCell以灰色突出显示。它部分工作,除了我需要修剪空白。

非常感谢任何帮助。谢谢!

这需要在IE8中工作,所以我在头部分中应用了以下内容:

if (!String.prototype.trim) {
    String.prototype.trim = function () {
    return this.replace(/^\s+|\s+$/g, '');
    }
}

页面上的代码:

$(".data table tbody tr.row").each(function () {
        $(this).find('td').each(function (index) {
            var oldCell = $(this);
            var newCell = $(this).next('td').length > 0 ? $(this).next('td') : null;
            if (index % 2 == 0 && newCell && oldCell.text().trim !== newCell.text().trim) {
                oldCell.css('backgroundColor', '#FFF');
                newCell.css({
                    'backgroundColor': '#666',
                    'color': '#FFF'
                });
            }
        });
    });

2 个答案:

答案 0 :(得分:2)

trim是一项功能,因此您需要使用str.trim()进行调用,而不仅仅使用str.trim引用它。

oldCell.text().trim !== newCell.text().trim

应该是

oldCell.text().trim() !== newCell.text().trim()

由于你正在使用jQuery,你可以(正如其他人的建议)使用它的内置$.trim()方法而不是自己的shimming,这将跨浏览器工作。

var trimmedStr = $.trim(str);

应用于您的代码:

$.trim(oldCell.text()) !== $.trim(newCell.text())

答案 1 :(得分:1)

您正在使用jQuery,因此您只需将每个单元格中的文本替换为自身的剪裁版本:

$(".data table td").each(function(){
    $(this).text($.trim($(this).text()));
}