1. ホーム
  2. jquery

[解決済み] jQueryでテキストを取り込むとき、空白を取り除くにはどうしたらいいですか?

2022-04-20 19:06:43

質問

jQueryを使ってmailto:アンカーでメールアドレスを囲みたいのですが、CMSが生成するホワイトスペースも掴んでしまいます。

以下は、私が作業しなければならないHTML、私が作成したスクリプト、および出力のコピーです。

HTML

<div class="field field-type-text field-field-email">
  <div class="field-item">
    [email protected]    </div>
</div>

jQuery JavaScript

$(document).ready(function(){
  $('div.field-field-email .field-item').each(function(){
    var emailAdd = $(this).text();
      $(this).wrapInner('<a href="mailto:' + emailAdd + '"></a>');
   });
 });

生成されたHTML

<div class="field field-type-text field-field-email">
  <div class="field-items"><a href="mailto:%0A%20%20%20%[email protected]%20%20%20%20">
    [email protected]    </a></div>
</div>

この質問を読んでいる他の人は、先頭と末尾の空白を取り除くことを望むかもしれませんが、私がラップしているのが電子メールアドレスであることを考えると、空白をすべて失うことは非常に喜ばしいことです。

どのように解決するのですか?

を使用します。 replace 関数をjsで使用します。

var emailAdd = $(this).text().replace(/ /g,'');

これですべてのスペースが削除されます

先頭と末尾の空白を削除したい場合 のみ jQuery の $.trim メソッドを使用してください。

var emailAdd = $.trim($(this).text());