2016-08-04 3 views
2

Привет мне нужно изменить эту строку в двойных кавычках, но я не получаю, как сделатьпредварительного кода Строка Изменение Js одинарные кавычки в двойные кавычки

прямо сейчас это как

"<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, встроенный в JavaScript, обернув его в одинарные кавычки, вы можете продолжать использовать двойные кавычки, как обычно в вашем 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 -Tags:

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

Тогда следующий Javascript заполнит первый с одной кавычками, а второй с двойными кавычками O пе:

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