2012-04-20 3 views
2

나는 index.html을 또 다른 DIV (#result)에로드 할 외부 파일 (test.html를)에서 콘텐츠 (#content)이 있습니다JQuery와 간단한 아약스로드

인 test.html를 :

<div id="content">This text should not be loaded with its DIV. <strong> May contain other tags</strong></div> 

JQuery와 :

$('#result').load('test.html #content'); 

index.html을 결과, 예상치 못한 :

<div id="result"><div id="content">This text should not be loaded with its DIV. <strong> May contain other tags</strong></div></div> 

index.html을 결과는 예상 :

<div id="result">This text should not be loaded with its DIV. <strong> May contain other tags</strong></div> 

당신 만의 래퍼하지 않고, 다른 태그를 포함 할 수 #content의 실제 내용/HTML을로드하려면 어떻게 DIV (#content)? 이유는 실수로 다른 스타일의 DIV와 충돌 할 수있는 불필요한 부분을 단순히 피하는 것입니다.

힌트는 대단히 감사하겠습니다. 감사합니다

+1

이 따라 업데이트 JNE에 의해 P의 xD을 당신은'.load와 그렇게 할 수 없습니다 – Shyju

+0

감사합니다 ("폐쇄 누락) 깨진 것 같다 – swan

+1

()' – zerkms

답변

1

생각해보십시오. 임시 태그를 작업 영역으로 사용하면 어떨까요?

이의 jQuery 자바 스크립트

...

$('#workarea').load('test.html #content'); 

는 ...이 결과를 생성 할 수 있습니다. Workarea에이 숨겨져 있음을 주목하라 :

<div id="result"></div> 
<div id="workarea" style="display: none"><div id="content>This text should not be loaded with its DIV</div></div> 

그런 다음이 가진 결과로 이동할 수 ...

$('#result').html($('#workarea').html()); 

그것은이 결과를 생성한다.

<div id="result">This text should not be loaded with its DIV</div> 
<div id="workarea" style="display: none"><div id="content></div></div> 

편집 :

여기 한 곳에서 전체 스크립트입니다 :

$('#workarea').load('test.html #content'); 
$('#result').html($('#workarea').html()); 

당신은 대신 한 줄이 두 줄을 사용합니다. 올바르게 이해하면 위의 쿼리에서 예상되는 결과가 나타납니다.

+0

죄송합니다, 가져올 수 없습니다. 그거야. 파일에서 모든 인라인을 의미하니? 내가 사용했던 이유는 이러한 HTML은 단일 페이지에 머무르기에는 너무 많기 때문에 불가능합니다. 명확히하십시오. 감사. – swan

+0

@swan이 명확하게 설명합니까? 하나의 jquery 줄을 두 줄로 바꿀 것입니다. 나는 그것이 설명하고있는 것을 단계적으로 보여주기 위해 그것을 나눴다. – digitaleagle

+0

당신의 생각은 나를 더 나은 해결책으로 이끌어줍니다. 너의 것이 실제로는 훨씬 좋고 많은 HTTP 요청을 줄인다. 단일 HTML 만로드 한 다음로드 된 HTML에서 ID별로 세분화하고 마지막으로 각 ID를 상위 HTML 작은 단위로 삽입하십시오. 훌륭한. 고마워. – swan

1

.load()의 결과를 var에 가져올 수 있다면. 이 작업을 수행 할 수 있습니다. 나는 JQuery와 전문가가 아니라 나처럼

var result = ... load line ... 
var outResult = $(result); 
// now strip the div out of outResult using jquery...... 
outResult = StripContentDiv(outResult); 
$('#result').html(outResult); 

죄송합니다 좀 더 구체적으로 할 수 없다.

+0

StripContentDiv의 기능은 무엇입니까? 기본 제공 jquery입니까, 맞춤입니까? 감사합니다. – swan

+0

이 기능을 만듭니다. –

1

은 당신이

$(document).ready(function(){ 
    $('#result').load('test.html #content', function() { 
    $('#content', this).text; 
    }); 
    }); 

보면 그게 전부입니다.

이 마크 업이
+0

고맙지 만 유감스럽게도 다음 기능이 너무 늦었습니다. #content에 이미 DIV가로드되어 있습니다. – swan