예 :자바 스크립트 : 무슨 '문서'와 'HTML'의 차이
$(document).click(function() { blah });
// and
$('html').click(function() { blah });
예 :자바 스크립트 : 무슨 '문서'와 'HTML'의 차이
$(document).click(function() { blah });
// and
$('html').click(function() { blah });
여러 부분으로 질문에 답변 해 드리겠습니다.
JavaScript (jQuery뿐만 아니라 모든 JavaScript)에서 document 키워드는 HTMLDocument가 포함 된 객체의 핸들입니다. 당신은 당신이 jQuery를에 문서를 전달하는 경우
// Get the current web address
alert(document.location.href);
, 그것은 jQuery를 객체로 문서를 구문 분석 ... 다음과 같은 경우에이 핸들을 사용할 수 있습니다.
"html"선택기를 jQuery에 전달하면이 문자열을 사용하여 문서 객체 모델에서 선택기와 일치하는 요소를 찾습니다 (모든 경우에 하나의 html 요소가 있음).
현실에서, 당신이이 사이에 동작의 차이 통지하지 않습니다 :
$(document).click(function() { alert('blah'); });
$('html').click(function() { alert('blah'); });
$('body').click(function() { alert('blah'); });
을하지만 기술적 인 차이는 해당 문서 객체와 'HTML'이다는 검색하는 데 사용되는 문자열 요소. 객체와 일치하는 요소 모두 jQuery 객체로 변환됩니다.
모두 사용자가 실제로 클릭 할 수있는 페이지의 유일한 부분 인 페이지의 "보이는"부분에 클릭 이벤트 처리기를 추가합니다.
시도 모두의 innerHTML, 무슨 결과를내는? 내가
document
가 <head>
및 <body>
의를 <html>
을 포함하고html
이 참조의 모든 요소 <html>
-tag, 그래서 단지가있을 것입니다, 정말 완전한 문서이다 (그러나 han't 테스트) 것을 생각한다 문서에 클릭하면 항상 <html>
에 클릭되기 때문에, (AN 클릭 핸들러를 추가하는) 차이가 없을 것입니다 귀하의 코드 : 당신의 출력이 아닌 <html>
는 자체하지만를 -tag (사이트가 유효하고 이이고 <html>
태그가있는 경우)
그들은 같은 것을 선택합니다. 유일한 차이점은 jQuery의 지글 거리는 엔진이이를 어떻게 발견하는지입니다. 첫 번째 경우는 jQuery init 함수에서 특별한 경우이고 getElementsByTagName을 사용하는 두 번째 경우는 위의 scneraio에서
... 둘 다 동일하다고 생각합니다. – kobe