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 に答える