아래 예제는 다음 HTML 스 니펫을 나타냅니다.
<div id="test">
Warning: This element contains <code>code</code> and <strong>strong language</strong>.
</div>
노드는 다음 JavaScript로 참조됩니다.
var x = document.getElementById('test');
element.innerHTML
요소의 자손을 설명하는 HTML 구문을 설정하거나 가져옵니다.
x.innerHTML
// => "
// => Warning: This element contains <code>code</code> and <strong>strong language</strong>.
// => "
이것은 W3C의 DOM 구문 분석 및 직렬화 사양 의 일부입니다 . Element
객체 의 속성입니다 .
node.innerText
객체의 시작 태그와 종료 태그 사이에 텍스트를 설정하거나 가져옵니다.
x.innerText
// => "Warning: This element contains code and strong language."
innerText
Microsoft에 의해 소개되었으며 Firefox에 의해 지원되지 않았습니다. 2016 년 8 월 , WHATWGinnerText
에서 채택하여 v45의 Firefox에 추가되었습니다.
innerText
브라우저가 렌더링 한 내용과 일치하는 텍스트를 스타일을 인식하고 표현하여 다음을 의미합니다.
innerText
적용 text-transform
및 white-space
규칙
innerText
줄 사이에 공백을 제거하고 항목 사이에 줄 바꿈을 추가합니다
innerText
보이지 않는 항목에 대한 텍스트를 반환하지 않습니다
innerText
반환 textContent
처럼 렌더링되지 않습니다 요소 <style />
'와
Node
요소의 속성
node.textContent
노드와 그 하위 항목의 텍스트 내용을 가져 오거나 설정합니다.
x.textContent
// => "
// => Warning: This element contains code and strong language.
// => "
이것은 W3C 표준 이지만 IE <9에서는 지원되지 않습니다.
- 스타일을 인식하지 못하므로 CSS로 숨겨진 컨텐츠를 리턴합니다.
- 리플 로우를 트리거하지 않습니다 (따라서 성능이 향상됨)
Node
요소의 속성
node.value
이것은 당신이 목표로 한 요소에 달려 있습니다. 위 예제의 경우 속성이 정의 되지 않은 HTMLDivElement 객체를 x
반환합니다 .value
x.value // => null
<input />
예를 들어 입력 태그 ( ) 는 "컨트롤의 현재 값"을 나타내는 속성을 정의합니다value
.
<input id="example-input" type="text" value="default" />
<script>
document.getElementById('example-input').value //=> "default"
// User changes input to "something"
document.getElementById('example-input').value //=> "something"
</script>
로부터 문서 :
참고 : 특정 입력 유형의 경우 반환 된 값이 사용자가 입력 한 값과 일치하지 않을 수 있습니다. 예를 들어, 사용자가 숫자가 아닌 값을에 입력 <input type="number">
하면 반환 된 값은 빈 문자열 일 수 있습니다.
샘플 스크립트
다음은 위에 제시된 HTML의 출력을 보여주는 예입니다.
var properties = ['innerHTML', 'innerText', 'textContent', 'value'];
// Writes to textarea#output and console
function log(obj) {
console.log(obj);
var currValue = document.getElementById('output').value;
document.getElementById('output').value = (currValue ? currValue + '\n' : '') + obj;
}
// Logs property as [propName]value[/propertyName]
function logProperty(obj, property) {
var value = obj[property];
log('[' + property + ']' + value + '[/' + property + ']');
}
// Main
log('=============== ' + properties.join(' ') + ' ===============');
for (var i = 0; i < properties.length; i++) {
logProperty(document.getElementById('test'), properties[i]);
}
<div id="test">
Warning: This element contains <code>code</code> and <strong>strong language</strong>.
</div>
<textarea id="output" rows="12" cols="80" style="font-family: monospace;"></textarea>
innerText
MSIE에 의해 textContext의 비표준 구현 인 와의 구별 은 사소한 것이 아니다.