2012-04-20 3 views
0

이전에는 AJax를 사용하여 페이지를로드하고 DOM의 일부만 업데이트 할 수있는 플러그인을 사용했다는 것을 기억합니다. AJax 요청은 전체 HTML 페이지를 반환하지만 현재로드 된 DOM의 일부만 대체합니다.(DOM 대신) 문자열로 JQuery 사용

예를 들어 SO는이 함수를 사용하여 http://stackoverflow.com을 가져오고 #content 만 업데이트 할 수 있습니다. 그래서 http://stackoverflow.com을 가져오고 반환 된 문자열에서 #content을 가져오고 DOM의 #content을 업데이트하라는 AJAX 요청을 내릴 것입니다.

내 질문에 혼란스러운 경우 죄송합니다. 어떻게하면 플러그인없이이 작업을 수행 할 수 있습니까?

+0

귀하의 질문은 매우 명확하지 않다, 또는 나는 그것을 이해하는 데 문제가있어 : –

답변

3

.load() 함수는이 작업을 수행하도록 설계되었습니다. 그냥 같은의 URL과 함께 요소에 대한 선택기를 포함

$('#content').load('http://stackoverflow.com #content', optionalCallbackFunction); 
페이지에 ID content와 요소의 내용으로, 현재 페이지에서 ID content와 요소의 내용을 대체합니다

AJAX 요청에 의해 http://stackoverflow.com으로 반환 된 다음 optionalCallbackFunction이라는 함수를 실행하십시오. 물론 요청이 성공했다고 가정합니다.

var str = "<div><h1>Page Title</h1><div id='content'>This is new.</div></div>"; 
var text = $("#content",$(str)).html(); 
$('#content').html(text); 
+0

그래서'$ ('('의 내용을 대체 할 일부 요소) '는 아마도'$ ('content ')'입니다. – Prestaul

+0

@Prestaul 실제로 답변을 편집했습니다. –

+0

예 - 여기 ajax.load가 주요 옵션입니다. 자세한 내용은이 링크 (http://api.jquery.com/load/)를 참조하십시오. 위의 Anthony가 강조한 페이지 부분을로드하는 방법에 대한 전체 설명이 포함되어 있습니다. –

0

는 AJAX없이, 당신은이 같은 원시 문자열을 구문 분석 할 수 있습니다. "플러그인없이 이것을 어떻게 할 수 있습니까?" "this"는 무엇을 나타 냅니까? 귀하의 예제에서 언급 한 것은`$ .fn.load` 메소드입니다.