2012年11月01日

jQueryのtext()で取得した値の最後にスペースが入る現象

表題の件だけど、ちょっとはまったのでメモ。

以下のHTMLがあって、onClickイベントでテキストの値を取得してきて、処理する場合があったとする。

<td class="edit">
  15:00
</td>

var numTd = $("tbody td.edit");

numTd.click(function(){

  orgVal = $(this).text();

  〜〜〜以下、処理が続く〜〜〜
}

すると、orgValの値が"15:00 "と最後にスペースが入ってしまう。

このせいで、時刻チェック関数で不正な時刻として弾かれてて困っていた。

何で、スペースが入るんだ??試行錯誤した結果以下のように改行を含まないようにすればスペースがなくなった。

<td class="edit">15:00</td>

改行がスペースになったのかな?

軽く調べてみると、jQueryでのhtml()とtext()の挙動がIEだと違う模様。前者は改行コードが取り払われ、後者は改行コードがそのまま付いくるらしい。この改行コードが邪魔してたんだな。

こういうの知らないと意外とはまる。。。
posted by hana at 12:39| Comment(0) | TrackBack(0) | JavaScript | このブログの読者になる | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。