javascript
  • html
  • pre
  • 2016-08-04 44 views 2 likes 
    2

    您好我需要改变这个双引号括起来,但我没有收到怎么办预编码字符串更改为双引号

    现在它就像

    "<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); 
    
    +0

    我并不完全明白的问题,其中的字符串是从哪里来的? –

    +0

    为什么在JS字符串中使用'<'?你可以有实际的符号,而不是HTML实体... – evolutionxbox

    +0

    它不是给实际的符号时,给自身 – Tanmay

    回答

    2

    这是否解决问题了吗?

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

    我发现最简单的方法是用单引号将HTML嵌入到HTML中,然后在HTML中继续使用双引号。

    如果您需要在HTML中使用单引号,你能逃脱他们是这样的:

    \' 
    
    +1

    要添加到这一点,字符串可以使用单或双引号被引用在JavaScript中没有区别:''我的字符串'和''我的字符串''是一样的。但是使用一个字符可以使用字符串中的另一个字符。 – pie3636

    +0

    是的,你是对的,我只是现在只有我自己得到答案,但非常感谢谢谢非常感谢谢谢 – Tanmay

    1

    如果你想双码,你可以使用转义符。

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

    如果您已经有单引号字符串,并希望用双引号来代替单,你可以使用string.replace()

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

    对于一个完整的例子:你有这两个pre标签都有效:

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

    然后下面的JavaScript将填补第一个用单引号字符串,而第二个用双引号Ø NE:

    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

    相关问题