2010-02-05 3 views
1

나는 작은 따옴표가있는 몇 가지 요소가있는 HTML 문자열이 있습니다.이 태그를 $ ('varHtml'); varHtml 이미 오류가 qives 일부 작은 따옴표를 포함하기 때문에, 누군가는 varHtml 사전에자바 스크립트 또는 JQuery에서 작은 따옴표 바꾸기

감사를 작은 따옴표를 탈출하는 방법을 도와 줄 수

톰슨

+0

예제 오류 사례를 제공해 주시겠습니까? – gnarf

+0

당신이 명확히 할 수 있습니까? $ ('varHtml')은 분명히 존재하지 않는 태그 이름 "varHtml"의 요소를 찾고 있습니다. jQuery는 꺾쇠 괄호가 들어 있으면 HTML 문자열로만 매개 변수를 처리한다고 생각합니다. – jpsimons

답변

2

당신이에서 HTML 문자열이있는 경우 변수, 당신은 따옴표에 넣어 필요가 없습니다

var varHtml = "<div id='foo'></div>"; 
$(varHtml); 
+0

이것은 문자열을 형성하는 데 큰 따옴표를 추가하면 varHtml = "Go Search"인 문자열입니다. onmouseover 및 onmouseout 특성을 작성하면 작은 따옴표를 추가하면 모든 속성에서 문제가 발생할 수 있습니다. - – Thomson

0

자바 스크립트는 클라이언트 측을 실행하는 대해 HTMLEncode처럼 뭔가 부족하다. 따라서 스크립트 라이브러리 중 하나를 사용해야합니다. 이 jQuery 솔루션을 사용해 볼 수 있습니다 : http://www.edentity.ca/WhoWeAre/Blog/Easy-Client-Side-html-EncodeDecode-using-jQuery.aspx 또는 단순히 여기에 설명 된 것과 같은 자바 스크립트 문자열 바꾸기 기능을 사용할 수 있습니다 : http://www.w3schools.com/jsref/jsref_replace.asp. '를 & # 39;로 바꾸십시오. 또는 선호하는 HTML 코드. 참조 : http://www.degraeve.com/reference/specialcharacters.php

+0

당신은 자바 스크립트에서 htmlencode 할 필요가 없습니다. 'element.innerText' 또는'$ (element) .text()'를 사용하여 요소의 텍스트를 설정할 수 있습니다. 비슷하게, 속성은 결코 인코딩 될 필요가 없다 :'element.setAttribute ('blah', '<\'"> &')'가 작동 할 것이다. – nickf

+0

이 내가 문자열을 형성 따옴표를 추가하면 = "Go Search는" 모든 속성이 나는 캐릭터에게 onMouseover와 형성에 작은 따옴표를 추가하면 문제 을 일으킬 것이다 varHtml을 데 문자열입니다 onmouseout 속성으로 인해 문제가 발생합니다. – Thomson

관련 문제