2016-09-01 4 views
0

HTML 속성의 따옴표 (')와 따옴표 (')가 document.documentElement.outerHTML에서 큰 따옴표 ('')로 렌더링되는 이유는 무엇입니까? 그리고 그것을 방지하는 방법?HTML 속성의 시작과 끝의 (')이 document.documentElement.outerHTML에서 (' ')로 렌더링되는 이유는 무엇입니까? 그리고 그것을 방지하는 방법?

내 HTML 페이지에서이 요소를 다음 "를 들어

<div data-css="mo-cssclassvalueuseditems" class="{MO-CSS-CLASS value=&quot;UsedItems&quot;}"> 
</div> 

을 : 나는 결과로, document.documentElement.outerHTML를 통해 전체 HTML을 얻으려고 노력

<div data-css="mo-cssclassvalueuseditems" class='{MO-CSS-CLASS value="UsedItems"}'> 
</div> 

, 그것은 다음과 같이된다 , 그것은 전혀 중요하지 않습니다. 그러나 오프너와 작은 따옴표 (')가 더 가까울수록 작은 따옴표 (') 대신 큰 따옴표 ('')로 표시되는 이유는 무엇입니까?

따옴표를 그대로 사용하는 방법이 있습니까?

+0

거의 중요하지 않습니다! http://stackoverflow.com/questions/2373074/single-vs-double-quotes-vs – ajaykumar

+0

@ajaykumar 예, 물론 인용문 사용에 대한 문제입니다. 내 말은 "전혀 문제가되지 않는다"는 것은 이중 따옴표를'&'로 렌더링한다는 것입니다. 결국 문제는 다시 큰 따옴표로 렌더링되기 때문에 문제가되지는 않지만 불행히도 작은 따옴표로는 발생하지 않습니다. –

답변

1

DOM을로드하면 모든 요소와 속성 간의 논리적 관계를 나타내는 DOM 데이터 구조가됩니다. 소스 코드를 보유하지 않습니다. 따라서이 정보에는 class 속성에 값 {MO-CSS-CLASS value="UsedItems"}이 포함되어 있습니다. 원본 HTML에서 작은 따옴표 나 큰 따옴표를 사용했다는 사실은이 번역에서 DOM으로 손실됩니다. innerHTMl 또는 outerHTML 속성을 읽어서 요소를 직렬화하면 속성 값은 항상 큰 따옴표로 묶습니다.

+0

좋습니다. '{MO-CSS-CLASS value = "UsedItems"}'태그는 구문과 같으므로 마지막에 특정 값으로 변환됩니다. 하지만 결국 요소는'class = "{MO-CSS-CLASS value ="UsedItems "}"'가되기 때문에 시스템은 같은 따옴표를 포함하고 있기 때문에 그것을 읽을 수 없습니다. 따라서 javascript로 큰 따옴표 대신 작은 따옴표가있는 "원본"구문을 검색 할 수 있습니까? –

+0

나는 당신이 무엇을 요구하고 있는지 이해하지 못합니다. ** 값 주위의 ** 인용 부호는 속성 자체의 값에 영향을 미치지 않습니다. – Barmar

+0

왜 이것을 위해 'outerHTML'을 사용하고 있습니까? 'documentElement.className'를 사용하여'class' 속성의 내용을 가져옵니다. – Barmar