2011-01-24 1 views
45

웹 페이지에서 정수 값을 제공하는 WebService를 호출하고 있습니다. 이 값을 텍스트 블록에 표시해야합니다. 현재 HTML <span>을 사용 중입니다.자바의 내용을 <span>으로 설정

지금까지 필자는 스팬에 내 값을 넣는 두 가지 방법을 발견했습니다. innerText()은이를 수행하기위한 IE 독점적 방법이며 innerHTML()은 널리 지원 되긴하지만 비표준 호환 방식입니다.

자바에서 <span></span> 사이의 텍스트를 설정하는 올바른 표준 준수 방법은 무엇입니까?

+5

을 HTML5,'innerHTML' **입니다 ** 일부로서 Spec http://dev.w3.org/html5/spec/Overview.html#innerhtml에서 제공되며 모든 브라우저에서 지원됩니다 (모든 브라우저의 IE에서 * table *에 대한 * setter *와 '선택 '요소/하위 요소) – scunliffe

답변

49

표준 호환 및 브라우저 간 안전입니다.

예 :http://jsfiddle.net/kv9pw/

최신 브라우저
var span = document.getElementById('someID'); 

while(span.firstChild) { 
    span.removeChild(span.firstChild); 
} 
span.appendChild(document.createTextNode("some new content")); 
18

당신이 이런 식으로 할 것, jQuery와 같은 자바 스크립트 라이브러리를 사용하지 않고 작업을 수행하려면 :

$("#myspan").text(''+intValue); 
+6

당신 ca n 그냥'.text (intValue)'를 수행하십시오. 연결을 통한 강제 문자열 변환은 필요하지 않습니다. 현대 브라우저 용 – chaos

1

: 당신이 jQuery를 사용하려는 경우

var span = document.getElementById("myspan"), 
    text = document.createTextNode(''+intValue); 
span.innerHTML = ''; // clear existing 
span.appendChild(text); 

은, 그냥이의 Maximally Standards를 따르는 방법은 원하는 텍스트가 포함 된 텍스트 노드를 작성하여 범위에 추가하는 것입니다 (현재 존재하는 텍스트 노드를 제거하는 것).

내가 실제로하는 방법은 jQuery의 .text()을 사용하는 것입니다.

28

, 당신은 textContent 속성을 설정할 수 있습니다, Node.textContent 참조 :

var span = document.getElementById("myspan"); 
span.textContent = "some text"; 
+5

만세! – Aligned