2

我有一个 html 表:

<table><tr>
 <td>M1</td>
 <td>M2</td>
 <td>M3</td>
 <td>M4</td>
</tr></table>

和一个简单的 jQ 脚本:

$('td').click(function(){ alert( $(this).html() ); });

这工作得很好......但在现实世界中,我有数百个表格单元格,并且由于有几个人编辑页面,代码在某些地方的格式不正确。

所以如果html是:

     <td>
                     M1         

             </td>

然后 alert() 给了我所有的制表符和回车符和空格:

Javascript 警报 http://bit.ly/9B0Xon

我该怎么做才能只获取没有制表符和空格的文本?我试过 .html()、.val()、.text() 无济于事。谢谢!

4

3 回答 3

4

jQuery 有一个内置的修剪功能$.trim(),你可以这样使用它:

$('td').click(function() {  alert( $.trim($(this).html()) ); });
于 2010-04-06T20:58:51.907 回答
2

Nick 和 Darin 发布了一种从内容的开头和结尾修剪空白的好方法,但如果中间有很多空白,请举例说明:

<div>
             M1
                                                  M2
     </div>

您可以使用以下组合修剪所有空白:

$('div').click(function() {
 var html = $.trim($(this).html().replace(/(\s+)/g,' '));
 alert(html);
})
于 2010-04-06T21:49:32.597 回答
1

您可以修剪字符串:

String.prototype.trim = function () {
    return this.replace(/^\s*/, '').replace(/\s*$/, '');
};

并像这样使用它:

$('td').click(function() { 
    var html = $(this).html().trim();
    alert(html); 
});
于 2010-04-06T20:53:29.620 回答