如何将HTML字符串分配给JavaScript中的变量,并轻松地从特殊字符中转义

时间:2011-04-14 18:20:26

标签: javascript escaping

我想将HTML字符串分配给JavaScript变量,但由于特殊字符而导致错误。有没有简单的方法来逃避这些角色?

我想在我的js文件中做什么:

var messageTemplate = {
   defaultMessageTemplate : "<p>aaaa <b>_username_</b>,</p>
            <p>1sdfasşlğllğlğ.</p>
            <p><b>1 sdfsfsfü şesdfce 12 sfsf.</b></p>
            <p>Üsdfdsfsfsf üyelesfdsdfsdfmsdfdsfdava.</p>
            <p style="font-weight:bold; font-size: 16px;"><a href="/dsfsfs">sfsdfsf Yarasfsdfklayın</a></p>
        <p>Önsdfdsfpıİsdfdfsfn kaçırmayın.</p>
        <br/> <br/>fafaf, <br/>_domain_ Ekssibi</textarea></label></td>"
.... code continues here
};

3 个答案:

答案 0 :(得分:2)

使用转义功能: http://www.devguru.com/technologies/ecmascript/quickref/escape.html

但请注意,这可以逃脱一切。这取决于你想要对变量中的html做什么。

答案 1 :(得分:2)

escape功能或较新的encodeURIComponent

答案 2 :(得分:1)

您需要使用"转义"引用的字符串中的\"

var messageTemplate = {
   defaultMessageTemplate : "<p>aaaa <b>_username_</b>,</p>
            <p>1sdfasşlğllğlğ.</p>
            <p><b>1 sdfsfsfü şesdfce 12 sfsf.</b></p>
            <p>Üsdfdsfsfsf üyelesfdsdfsdfmsdfdsfdava.</p>
            <p style=\"font-weight:bold; font-size: 16px;\"><a href=\"/dsfsfs\">sfsdfsf Yarasfsdfklayın</a></p>
        <p>Önsdfdsfpıİsdfdfsfn kaçırmayın.</p>
        <br/> <br/>fafaf, <br/>_domain_ Ekssibi</textarea></label></td>"
};

或者使用单引号,您可以使用"而无需转义它们(但您需要转义'):

var messageTemplate = {
   defaultMessageTemplate : '…'
};

如果此JavaScript代码嵌入到HTML中,您还need to escape the </ somehow