预编码字符串将js单引号更改为双引号

时间:2016-08-04 10:05:30

标签: javascript html pre

您好我需要用双引号更改此字符串,但我没有得到如何操作

现在就像

"<iframe src='"+urlSrv+'&embedded=true'+ "' frameborder='0' scrolling='auto' width='100%' height='100%'></iframe>" 

,输出

<iframe src='http://localhost:46030/Login/Appointment%20Booking/Home.aspx?clhid=717c043d-126f-4f57-910b-247a83d58801?embedded=true' frameborder='0' scrolling='auto' width='100%' height='1000'></iframe>

但我需要将其作为

<iframe src="http://localhost:46030/Login/Appointment%20Booking/Home.aspx?clhid=717c043d-126f-4f57-910b-247a83d58801&embedded=true" frameborder="0" scrolling="auto" width="100%" height="1000"></iframe>

我转换它的下面的脚本

dvContSrvBtnCopy.className = "col-lg-2 col-md-2 col-sm-2 col-xs-2 padddiv";
                    dvContSrvBtnCopy.style.marginTop = "-2rem";
                    var pre = document.createElement('pre');
                    pre.className = 'precode';
                    var code = document.createElement('code');
                    if (type == "ServiceCatg") {
                        code.id = "txtFrameSrv_" + i;
                        code.innerHTML = '&lt;iframe src="'+urlSrv+'&embedded=true'+ '" frameborder="0" scrolling="auto" width="100%" height="1000" &gt;&lt;/iframe&gt;';
                    }

                    pre.appendChild(code);
                    dvContSrv.appendChild(pre);
                    var btnCopy = document.createElement("button");
                    btnCopy.className = 'btnCOPYOnlineBkDynamic';
                    btnCopy.type = "button";
                    if (type == "ServiceCatg") {
                        btnCopy.id = "btnCopySrv_" + i;
                        btnCopy.setAttribute('onclick', "StaffSrvCrclCopy('" + btnCopy.id + "','ServiceCatg',true);");

                    }

                    var spnCopy = document.createElement("span");
                    spnCopy.className = 'copyDOOnlineBk';
                    btnCopy.appendChild(spnCopy);
                    dvContSrvBtnCopy.appendChild(btnCopy);

3 个答案:

答案 0 :(得分:2)

这会解决您的问题吗?

'<iframe src="' + urlSrv + '" frameborder="0" scrolling="auto" width="100%" height="1000"></iframe>'

我发现通过将其包装在单引号中来阅读Javascript中嵌入的HTML是最简单的,您可以继续在HTML中正常使用双引号。

如果你需要在html中使用单引号,你可以像这样转义它们:

\'

答案 1 :(得分:1)

如果您想要双重代码,可以使用转义符号。

"&lt;iframe src=\"" + urlSrv + "\"&embedded=\"true\" frameborder=\"0\" scrolling=\"auto\" width=\"100%\" height=\"100%\"&gt;&lt;/iframe&gt;"

答案 2 :(得分:1)

如果您已经使用单引号字符串并想要用双引号替换单引号,则可以使用string.replace()

var s2 = s.replace(/'/g, "\"");

至于一个完整的例子:你有这两个pre - 标签:

<pre id="content1"></pre>
<pre id="content2"></pre>

然后,以下Javascript将使用单引号字符串填充第一个,而第二个使用双引号字符串填充:

var urlSrv = "http://localhost/";
var s = "&lt;iframe src='"+urlSrv+'&embedded=true'+ "' frameborder='0' scrolling='auto' width='100%' height='100%'&gt;&lt;/iframe&gt;";

var el = document.getElementById("content1");
el.innerHTML = s;

// Here we replace all the single quotes with double qutes
var s2 = s.replace(/'/g, "\"");

var el2 = document.getElementById("content2");
el2.innerHTML = s2;

See here for a running example