2010-03-07 11 views
1

나는 내 코드의 유효성을 검사 JSLint를 사용하고 있었고, 난 다음 오류가 발생했습니다 :JSLint 메시지 : "예상되는 </대신 <"- 그 오류의 이유는 무엇입니까?

내가 가진

"\ </대신 < 기대"나의 HTML 코드와 자바 스크립트 코드.

element.innerHTML += "<p>here's what happened: You are <b>" + aVariable + " </b> years old.</p>"; 

과 : 예를 들어

이 는
<input type="text" name="enterText" id="nameOfPerson" onblur="submitValues(this)" size="50" value="Enter your name"/> 

사람이 말해 줄 수 왜 이런 일이 일어나고 있는가? HTML에 JSLint 섹션에서

+0

난 당신이 대신' SLaks

답변

2

, 그것은 말한다 :

JSLint also checks for the occurrence of '</' in string literals. You should always write '</' instead. The extra backslash is ignored by the JavaScript compiler but not by the HTML parser. Tricks like this should not be necessary, and yet they are.

+0

흠. 유효한 HTML 코드의 여분의 백 슬래시 부분과 소포가 있습니까? –

+1

나는 여러 레벨의 이스케이프 문자가 있다고 생각한다. JSLint가 HTML 파서를 언급 할 때, 그것은 결국 < /을 해석 할 파서가 아니며 "... < \/..."을보고있는 파서입니다. 요점은 그 파서가 당신이 당시에 인용 된 문자열 안에 있다고해도 HTML 구조의 수준을 내렸다 고 생각하도록 혼동하지 않는 것입니다. 그러나 그것은 추측입니다. 나는 Doug Crockford가 자신이 말하는 것을 알고 있다는 것을 정말로 알고 있습니다 (그리고 모든 전문가들과 이야기했습니다). JSLint가 말하는 것을 믿어야합니다. – PanCrit

관련 문제