js字符串嵌套

时间:2012-10-01 10:32:15

标签: javascript string escaping

好的我有一个字符串。

"<div class='down_arrow left_side'></div><div class='holder clearfix'><div class='topimg' style='background-image: url("+topimg+");'></div></div>";

我需要它像这样

"<div class='down_arrow left_side'></div><div class='holder clearfix'><div class='topimg' style='background-image: url(' "+topimg+" ' );'></div></div>";

但额外的'将关闭样式标记。

那么你是如何克服这个过程的?...我已经在引号之前阅读了一些像“使用\”之类的帖子,但它并没有真正起作用。

仅限某些人

var friinfo = document.createElement("DIV");
                friinfo.id = "friendsinfo";
                friinfo.className = "friendsinfo";      
                friinfo.innerHTML = "<div class='down_arrow left_side'></div><div class='holder clearfix'><div class='topimg' style='background-image: url(\"+topimg+\");'></div></div>";
                document.body.appendChild(friinfo);

这是实际代码

所以只是为了强制执行这个问题,我想在我的字符串下面加一层额外的引号

"<div class='down_arrow left_side'></div><div class='holder clearfix'><div class='topimg' style='background-image: url("+topimg+");'></div></div>";

所以它会变成这个

"<div class='down_arrow left_side'></div><div class='holder clearfix'><div class='topimg' style='background-image: url(' "+topimg+" ' );'></div></div>";

带引号'

3 个答案:

答案 0 :(得分:2)

"<div class=\"down_arrow left_side\"></div><div class=\"holder clearfix\"><div class=\"topimg\" style=\"background-image: url('" + topimg + "');\"></div></div>"

答案 1 :(得分:1)

修改后的代码:

"<div class='down_arrow left_side'></div>    <div class='holder clearfix'><div class='topimg' style='background-image: url(\'"+topimg+"\' );'></div></div>";

答案 2 :(得分:1)

您可以在JavaScript中使用\而不在HTML中使用\来转义引号。纯HTML解决方案称为HTML实体:

<div class='topimg' style='background-image: url(&quot;blah&quot);'>

...虽然通常更容易使用两种引用样式可供您选择 JavaScript CSS需求:

<div class="topimg" style="background-image: url('blah');">

但是,如果要将随机文本注入HTML属性,则引号不是唯一的问题。你最好使用setAttribute()方法,让它来处理转义。