2016-10-01 2 views
0

죄송합니다.자바 스크립트로 작성된 문구

나는 왜 작동하지 않는지 모른다.

내가 한 위

<button type="button" onclick="document.getElementById("demo").innerHTML = Date()">click</button> 

가 작동하지 않는 쓰고합니다.

나는이 하나가 작동

<button type="button" onclick="document.getElementById('demo').innerHTML = Date()">click</button> 

을 쓰고합니다.

내가 리터럴 전용 "", ''

그런데 왜이 발생하고있어 유일한 차이점?

대체 리터럴 만 선택해야하는 이유는 무엇입니까? 당신이 당신의 onclick 내부의 완전한 표현

document.getElementById("demo").innerHTML = Date() 

을 필요로하기 때문에

당신에게

+1

은 그냥 HTML은 색이 얼마나보고, 그것은 분명해야 당신은 onclick' document.getElementById를 (''에'설정하고, 그 어디 텍스트 문자 그대로의 끝을 때문에 경우.. 이 문제를 피하기 위해 인라인 코드를 사용하지 말아라. –

+1

''''은 onClick() 메소드의 일부분이므로,'''을 만나면 사용할 수 없다. '''를 사용해야합니다. – Franco

+2

이것은 인라인 JS가 좋은 생각이 아닌 많은 이유 중 하나입니다 ... – JJJ

답변

2

감사드립니다. onclick-expression을 큰 따옴표로 시작하면 구문 분석기는 다른 표현식을 "닫을 것"이라는 것을 알고 있기 때문에 다른 (이 경우에는 단일 인용문) 인용 부호를 사용해야하는 이유가 여기에 있습니다.

작은 따옴표로 시작 :

onclick='document.getElementById('demo').innerHTML = Date()' // wouldn't work 
onclick='document.getElementById("demo").innerHTML = Date()' // would work 
+0

예 감사합니다 :) :) – sradha

관련 문제