programing

JavaScript에서 단일 따옴표( ')를 이스케이프하려면 어떻게 해야 합니까?

copysource 2022. 10. 1. 15:14
반응형

JavaScript에서 단일 따옴표( ')를 이스케이프하려면 어떻게 해야 합니까?

업데이트: 이 질문에 대한 최신 답변을 드리겠습니다.먼저 아래 내용을 수행하려는 경우 대신 이벤트 청취자를 추가하여 이벤트를 관리할 것을 권장합니다.프로젝트에 jQuery를 사용하고, 그 구문을 사용하여 DOM을 사용하는 것보다 이벤트 청취자를 관리할 것을 강력히 권장합니다.

질문.

좋아, 기본적으로 이렇게 하는 거야

document.getElementById("something").innerHTML = "<img src='something' onmouseover='change(\'ex1\')' />";

\"를 삽입하는 큰따옴표(")는 사용하지 않습니다.저는 하나의 견적만 원하기 때문에 사용할 때 이중으로 넣지 않도록 하고 있습니다.나는 최종 결과에서 이것을 달성하기 위해 노력하고 있다.

<img src="something" onmouseover="change('ex1')" />

탈출은 나한테는 안 통한다.

나의 마크된 답변은 잘 작동하지만, 청소기(그리고 더 프로페셔널해 보이는 IMO)가 loganfsmyth의 답변입니다.

브라우저가 마지막에 표시되는 것을 항상 고려해야 합니다.이 경우, 다음과 같이 표시됩니다.

<img src='something' onmouseover='change(' ex1')' />

즉, "onmouseover" 속성은change(그리고 또 다른 '고민'이 있어요ex1')'아무 가치도 없어요.

사실 HTML에서는\탈옥 캐릭터로.하지만 그건 알아채지 못한다.&quot;그리고.&apos;각각 이스케이프 인용문과 아포스트로피로 표시됩니다.

이 지식을 바탕으로 다음을 수행합니다.

document.getElementById("something").innerHTML = "<img src='something' onmouseover='change(&quot;ex1&quot;)' />";

...그렇다면 JavaScript 인용문만 사용할 수 있습니다.

document.getElementById("something").innerHTML = "<img src='something' onmouseover='change(\"ex1\")' />";

답은 매우 간단합니다.

당신은 이미 큰따옴표로 묶어서 가지고 있기 때문에 그것을 피할 필요가 없습니다.\.

단일 따옴표로 단일 따옴표를 이스케이프하는 경우:

var string = 'this isn\'t a double quoted string';
var string = "this isn\"t a single quoted string";
//           ^         ^ same types, hence we need to escape it with a backslash

탈출하고 싶다면\'에 대한 bashslash를 회피할 수 있습니다.\\에 대한 견적서\'다음과 같이 합니다.

var string = 'this isn\\\'t a double quoted string';
//                    vvvv
//                     \ ' (the escaped characters)

그러나 따옴표 유형이 다른 문자열이 포함된 경우 이스케이프할 필요가 없습니다.

var string = 'this isn"t a double quoted string';
var string = "this isn't a single quoted string";
//           ^        ^ different types, hence we don't need escaping

탈출할 수 있습니다.'JavaScript에서처럼\'

값은 실제로 HTML 속성의 내부에 있기 때문에,&apos;

"<img src='something' onmouseover='change(&apos;ex1&apos;)' />";
    document.getElementById("something").innerHTML = "<img src=\"something\" onmouseover=\"change('ex1')\" />";

또는

    document.getElementById("something").innerHTML = '<img src="something" onmouseover="change(\'ex1\')" />';

작동해야 하는데...

언급URL : https://stackoverflow.com/questions/16134910/how-do-i-escape-a-single-quote-in-javascript

반응형