2017-07-18 28 views
0

文字列の中に一重引用符と二重引用符の問題があります。私の場合は:JS一重引用符と二重引用符を使用して印刷することができます

var Des = "It's alright. We are the so-called "Vikings" from the north."; 

私はこの文字列をそのまま表示したいと思います。私はランダムな文字列を持っています。時折、唯一の一重引用符、二重引用符、そして時には何もありません。

var fieldData = "<input type='text' name='desc' value='\""+Desc+"\"'>"; 

しかし、その動作していない:私はこれまで試した

コードです。

答えて

0

Des文字列内の二重引用符を最初にエスケープする必要があります。これは\"です。

次に、value属性をHTMLエンコードして、文字列内の引用符が属性自体を区切る引用符を妨げないようにする必要があります。 jQueryをタグ付けしたので、値をエンコードするので、val()を使用すると非常に簡単にこれを行うことができます。私は動的な文字列を持っている

var Des = "It's alright. We are the so-called \"Vikings\" from the north."; 
 
var $input = $('<input type="text" name="desc">').val(Des); 
 
$input.appendTo('body');
/* only used here to make the output fully visible without scrolling */ 
 
input { width: 325px; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

+0

:これを試してみてください。私は文字列全体から "with"を置き換える必要があります –

+0

これは正しいです。 –

+0

しかし、私は一重引用符を '\と二重引用符で変換することはできません "\。:( –