2011-01-18 2 views

답변

11

여러 부분으로 질문에 답변 해 드리겠습니다.

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 객체로 변환됩니다.

모두 사용자가 실제로 클릭 할 수있는 페이지의 유일한 부분 인 페이지의 "보이는"부분에 클릭 이벤트 처리기를 추가합니다.

+0

멋진 설명 – kobe

+0

매우 유익한 감사합니다 :) – Elgoog

+0

감사합니다 - 항상 행복하게 도와주세요 :) – Fenton

0

시도 모두의 innerHTML, 무슨 결과를내는? 내가

  • document

    <head><body>의를 <html>을 포함하고
  • html이 참조의 모든 요소 <html> -tag, 그래서 단지가있을 것입니다, 정말 완전한 문서이다 (그러나 han't 테스트) 것을 생각한다 문서에 클릭하면 항상 <html>에 클릭되기 때문에, (AN 클릭 핸들러를 추가하는) 차이가 없을 것입니다 귀하의 코드 : 당신의 출력이 아닌 <html>는 자체

하지만를 -tag (사이트가 유효하고 이고 <html> 태그가있는 경우)

0

그들은 같은 것을 선택합니다. 유일한 차이점은 jQuery의 지글 거리는 엔진이이를 어떻게 발견하는지입니다. 첫 번째 경우는 jQuery init 함수에서 특별한 경우이고 getElementsByTagName을 사용하는 두 번째 경우는 위의 scneraio에서