2011-08-24 4 views
1

'file1.html'과 같은 파일이 jQuery를 통해 div에로드되었습니다. $('#info').load('info/file1.html'); file1에서 #info의 내용을 변경하고 싶습니다. 이 같은 예 : file1.html 외모 :div에로드 된 외부 파일에서 div 파일 내용을 외부 파일로 바꾸기

function loadFile(f) { 
    $('#info').load('info/'+f+'.html'); 
} 

그러나, 나는 단지 클릭 후 DIV에 빈 페이지를 얻을

<a href="#" onclick="loadFile(this.value);" value="file2">File2</a> 

. 또한 폴더 설정이 손상되었지만 아무 것도하지 않으면 'info/'을 제거하려고했습니다. 뭐가 문제 야?

+0

당신이 (F) CONSOLE.LOG있다? – benhowdle89

답변

3

문제는 앵커 태그 dom 객체 (HTMLAnchorElement)에 "value"속성이 설정되어 있지 않습니다. dom 객체가 나타내는 앵커 태그의 value 속성을 가져 오려면 this.value 대신 $(this).attr('value')을 사용하면됩니다.이 값은 정의되지 않습니다.

하지만 실제로는 onclick 속성을 사용하는 대신 id/클래스와 jquery를 사용하여 이벤트를 첨부해야합니다. 그리고 사용자 정의 속성에 대한 HTML5 사양을 준수하려면 앵커 속성 data-value (value이 아님)을 호출해야합니다. 그래서이 작업을 수행 할 수있는 더 좋은 방법은 다음과 같습니다

HTML :

<a href="#" id="file-loader" data-value="file2">File2</a> 

자바 스크립트 :

$('#file-loader').click(function(ev) { 
    $('#info').load('info/' + $(this).attr('data-value') + '.html'); 
    ev.preventDefault(); 
}); 
+0

이 작품은 아름답게 작동했으며 4 분 만에 답을 얻을 수 있습니다. 폐하, 고마워요! –

0

사용 :

<a href="#" onclick="loadFile('file2');">File2</a> 
+0

이전에 빈 페이지를로드하는 데 사용되었지만 이제는 아무 것도로드하지 않습니까? –

관련 문제