2017-01-15 9 views
0

エスケープクォートを2回使用する必要があるという状況に遭遇します。具体的には、javascript関数で変数を一重引用符で囲む必要がありますが、変数自体も一重引用符で囲みます。詳細は、問題のある行がクラス "tile_name" を有するものである、下記見ることができます:エスケープシングルクォートJavascriptで2回

template = '' + 
    '<div name="'+$("#add_tags :selected").text()+'" class="tile" id="newsCat_gp" >' + 
     '<span onclick="this.parentNode.style.display = \'none\';" class="closebtn">&times;</span>' + 
     '<div class="tile__name"><b><font size="2px">'+$("#add_tags :selected").text()+'</b></font> <a id="newCat__'+$("#idx_newsCat").text()+'img" style="text-align: right; float: right;" href="javascript:toggle5(\'newCat__\'+$("#idx_newsCat").text()+\'\', \'img\', \'newCat__\'+$("#idx_newsCat").text()+\'img\');"><img src= "{% static '/img/minus.png' %}"></a> </div>' + 
     '<div class="tile__list" id="newCat__'+$("#idx_newsCat").text()+'" style="display: block;"></div>' + 
    '</div>'; 

私は結果が欲しい

\'newCat__\'+$("#idx_newsCat").text()+\'\' 

は何tile_listのよう

'newCat__'+$("#idx_newsCat").text()+' ' 

になっていますクラスを作成し、最後に結果を返す newCat__20、

ここで、20は彼ですldによって$("#idx_newsCat").text()

誰でも考えがありますか?どうもありがとう。

答えて

1

あなた連結文字列

javascript:toggle5(\'newCat__'+$("#idx_newsCat").text()+'\', \'img\', \'newCat__'+$("#idx_newsCat").text()+'img\'); 
+1

ブラボーを、助けるところ「逃げられないしなければなりません。どうもありがとう! –

+0

だから、いったん引用符で囲まれたブロックがエスケープしたように見えますが、システムはブロック内のものを気にせず、普通のように構文を書くことができます。 –

+0

ええ、あなたが言ったことは正しいです;) –

0

は多分これはそれが完璧に動作

var template = '' + 
 
    '<div name="'+$("#add_tags :selected").text()+'" class="tile" id="newsCat_gp" >' + 
 
     '<span onclick="this.parentNode.style.display = \'none\';" class="closebtn">&times;</span>' + 
 
     '<div class="tile__name"><b><font size="2px">'+$("#add_tags :selected").text()+'</b></font> <a id="newCat__'+$("#idx_newsCat").text()+'img" style="text-align: right; float: right;" href="javascript:toggle5(\'newCat__\'+$("#idx_newsCat").text()+\'\', \'img\', \'newCat__\'+$("#idx_newsCat").text()+\'img\');"><img src= "{% static \'/img/minus.png\' %}"></a> </div>' + 
 
     '<div class="tile__list" id="newCat__'+$("#idx_newsCat").text()+'" style="display: block;"></div>' + 
 
    '</div>'; 
 

 
$('body').append(template);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

関連する問題