2011-08-17 2 views
0

저는 방금 자바 스크립트를 배우기 시작했습니다. 제 질문은 자바 스크립트에 대한 기본적인 질문이지만 그 배후에있는 논리를 배워야했습니다. 이러한 코드와자바 스크립트가 HTML 코드를 덮어 쓰는 이유는 무엇입니까

<p id="demo">This is a paragraph.</p> 

    <script type="text/javascript"> 
    document.getElementById("demo").innerHTML=Date(); 
    </script> 

만 날짜는 브라우저에 표시하고 브라우저는 브라우저가 같은 클래스 수단 인? "이 단락은"먼저 작성하고 그 표시 날짜 아래되지 .Should "이 단락은"무시 , javacript는 같은 클래스의 모든 태그를 덮어 씁니까? 감사

+0

는 "클래스"가 무슨 뜻인지 설명해주십시오. –

+0

나는 id = "demo"와 같은 id를 의미합니다. – user893970

답변

4

innerHTML당신이 specificy 무엇 이건이 어떤 HTML 대체합니다. 추가하려는 경우 먼저 무엇이 있는지 파악해야합니다. 이런 식으로 뭔가 :

var myTag = document.getElementById("demo"); 
myTag.innerHTML = myTag.innerHTML + Date(); 
1

요소의 innerHTML 속성의 전체 내용을 나타냅니다. 새 값을 지정할 때 전체 내용을 바꿉니다. = 대신 +=을 사용하여 을 대체하는 대신 기존 문자열에을 추가하는 것처럼 들립니다.

1

innerHTML은 호출 된 요소 내부의 텍스트를 사용자가 전달한 것으로 바꿉니다. 따라서 "This a paragraph"는 date 값으로 대체됩니다.

대신이 시도

:

document.getElementById("demo").innerHTML = 
    document.getElementById("demo").innerHTML + Date(); 
0

브라우저는 먼저 그 표시 날짜 아래에 "이 단락은"쓸 수 없습니다할까요?

줄 바꿈과 날짜를 원하는 것으로 보입니다.

이 기존의 컨텐츠를 파괴하지 않고 그것을 달성하기 위해 마십시오

var demo = document.getElementById("demo"); 

demo.appendChild(document.createElement('br')); 
demo.appendChild(document.createTextNode(Date())); 
관련 문제