trim()
トリミングされた値は保存されないと思います。
ユーザーが文字列を送信する前に結果にトリムを適用すると、余分なスペースが削除されて正しく表示されます。しかし、トリミングされた値を取得すると、元のユーザー入力が得られ、スペースは削除されません。
入力フィールドからユーザー入力を取得する前に、次を追加しましたtrim()
。
input = $("<input type='text'>").val(txt);
input.trim()
うまくいきません。
trim()
トリミングされた値は保存されないと思います。
ユーザーが文字列を送信する前に結果にトリムを適用すると、余分なスペースが削除されて正しく表示されます。しかし、トリミングされた値を取得すると、元のユーザー入力が得られ、スペースは削除されません。
入力フィールドからユーザー入力を取得する前に、次を追加しましたtrim()
。
input = $("<input type='text'>").val(txt);
input.trim()
うまくいきません。
割り当て直す必要があります。そうしないと意味がありません。
txt = txt.trim();
input = $("<input type='text'").val(txt);
注: 上記は、プレーンな文字列であるtrim()
と仮定して、ネイティブ JavaScript メソッドを使用しています。txt
サイトで IE8 以下をサポートする必要がある場合は、この回答を参照して、そのようなサポートを追加する方法を確認してください。
OPコメントに基づいて更新。HTMLが行っているのと同じように、リクエストはすべての内部スペースを切り捨てることであることが判明しました。これを実現するには、トリムのサポートを改善するために、次の行を変更します。
var text = $(this).text();
その3人に:
var text = $.trim($(this).text());
while (text.indexOf(" ") > 0)
text = text.replace(" ", " ");
トリム()を文字列に適用します。つまりtxt
、jQueryオブジェクトには適用しません(テキストボックスコントロール)
input = $("<input type='text'").val($.trim(txt));
トリム メソッドは元の文字列を変更しません。結果を取得するには、その結果を変数に関連付ける必要があります。
------------------------------------------
次の説明を参照してください。
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim
説明
trim メソッドは、両端から空白を取り除いた文字列を返します。トリムは、文字列自体の値には影響しません。
------------------------------------------
それに加えて、ID で入力フィールドを参照することをお勧めします (例: $("#texto"))
<!doctype html>
<html lang="en">
<head>
<meta charset="iso-8859-1">
<title>jQuery.trim demo</title>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
$(document).ready(function(){
var txt = " lots of spaces before and after ";
alert('pause');
$("#texto").val("'" + txt.trim() + "'"); // ok
// $("<input type='text'>").val("'" + txt.trim() + "'"); // nok
});
</script>
</head>
<body>
<input type='text' id="texto" size='40' />
</body>
</html>
(ページhttp://api.jquery.com/jQuery.trim/からの例)