2016-04-27 11 views
-1

アム以下の入力HTML /プレーンテキストInnerTextプロパティと特殊文字のエスケープシーケンスdyamically

var test = '<html>Weight(lb)</html>' 
$(test) -- Pass 

var test = 'Weight(lb)' 
$(test) -- fail 

私は、これはエスケープシーケンスに関連している知っているが、どのように私は、この動的ので、私のテスト変数を扱うことができるとテキストに値を変換する問題を持ちます動的で、任意の特殊文字を含めることができます。

私の次の質問は、このHTMLからテキストへの変換が行われている間です。 htmlまたはプレーンテキストに基づいて変換する共通の機能を持つことができるより良い方法があります。たとえば、

var test = '<html>Weight(lb)</html>' 
$(test).text() ==> "Weight(lb)" 

var test = 'Weight(lb)' 
$(test).text() ==> "" expected : "Weight(lb)" 

プレーンテキストまたはHTMLテキストに関係なく正しい結果を得るために使用できるプロパティそれは、HTMLまたはプレーンのIDを確認し、可能であれば

おかげで私のテストで

+0

'$( 'Weight(lb))'は何を返しますか? – callback

+0

「構文エラー、認識できない式」を取得する – Peru

答えて

1

ことに基づいてタラを書くことであればループを書き込まないようにしようとしています、$('Weight')は「」も返さ。とにかく、私は値をもう一度ラップして、私にとってはうまくいった。 text()は、hereを読むことができるので、常にタグの付いていないテキストを返します。

$("<html>"+"Weight(lb")+"</html>").text(); 
+0

なぜこのようにしますか? – AliMC

+0

ループがHTMLを見ないようにしようとしていますか...余分な機能を書いていますか? – Peru

+0

テキストを変更しました – AliMC

0

あなたはjQueryのドキュメント

Jquery

を参照する場合にはセレクタは、DOMから要素を選択し、どちらかと説明しています。または要素が有効なHTMLを渡すことによって作成されます。

だから、あなたのケースで

//This is valid HTML 

var test = '<html>Weight(lb)</html>' 
$(test) -- Pass 

//Not a Valid HTML 

var test = 'Weight(lb)' 
$(test) -- fail 

// Here since $(test) will be undefined 

var test = 'Weight' 
$(test) -- pass 
1

あなたの質問は少し怪しげですが、私はそれを理解する方法を返信しましょう。

あなたはhtmlリテラルの解析を避けようとしているようです。

ので、古き良きJAVASCRIPT、次の関数の戻り値にこだわっ:

function returnStringLiteral(x){ 

// is what you may be after 
return document.createTextNode(x).data; 
}; 

returnStringLiteral('<html>Weight(lb)</html>' 
); 

することは、実際には、あなたがない限り仕事をする可能性があるだろう何かの後ろにある。