0

td内の要素を含むテキストを取得したい。jQueryを使用してこのtdの内容がわからなくてもmytd.text()、IE8ではテキストが正常に返されます。

ただし、この関数は、IE8とは異なる値をChromeとFFで返すため、text() クロスブラウザーではない可能性があることに気付きました。ChromeとFFの両方で、文字列の結果はIE8よりもはるかに長くなります。空の値が前後に追加されます" "

tdオブジェクトを持つ変数mytdがあるので、クロスブラウザ方式で含むテキストを取得するにはどうすればよいですか?

   // Does not work
   var text = mytd.text()

ありがとうございました。

4

2 に答える 2

3

クロスブラウザです、ブラウザが異なればテキストノードの空白の処理も異なり、jQueryはそれを抽象化しません。

しかし、それは$.trimあなたを助けるための方法を提供します。

テキストを取得するときに空白を削除するには、次のようにします。

var text = mytd.text().trim();

mytd...これは、もちろん既存のjQuery変数を参照していることを前提としています。あなたはこれを行うことができます:

var text = $('.mytd').text().trim();

編集:

申し訳ありませんが、ネイティブのString.trim()メソッドを実装するSafariでテストしました。すべてのブラウザで機能させるには、次のようにする必要があります。

var text = $.trim( mytd.text() );
于 2012-11-29T14:56:08.757 に答える
3

文字列の開始/終了から空のスペースを削除するjQuery.trim(str)を使用できます。

trim最終的には、すべての文字列がでメソッドを共有するため、文字列をトリミングするためにjQueryも必要ありませんString.prototype

于 2012-11-29T14:53:33.890 に答える