문제
이것은 간단한 대답 일지 모르지만이 작은로드 스크립트를 작성하는 몇 가지 문제가 있습니다. 어딘가에 버그가 있다고 생각합니다. DIV를 지우도록 할 수 있지만 페이지가로드되지 않습니다.
jQuery :
$(document).ready(function() {
//Load content
$(".load").click(function(){
$("#content").empty();
loadName = $(this).find("a").attr("id");
$("#content").load("/content/" + loadName + ".php");
});
});
HTML :
<div id="select">
<div id="menu">
<ul>
<li><a class="load" href="javascript:void(0)" id="project1">Project 1</a></li>
<li><a class="load" href="javascript:void(0)" id="project2">Project 2</a></li>
</ul>
</div>
</div>
<div id="content"></div>
두 PHP 파일 모두 SO와 같은 링크에 있습니다 (참고는 실제 링크가 아니라 더미 이름입니다).
http://www.hostname.com/content/project1.php
http://www.hostname.com/content/project2.php
해결책
당신이 정의한 이후 $('.load')
, 당신은 할 필요가 없습니다 find('a')
~을 위한 $(this)
. 그냥 사용하십시오 $(this).attr('id')
다른 팁
로드 이름 라인이 다음과 같아야한다고 생각합니다.
var loadName = $(this).attr("id"); // didn't see a declaration in your code
jQuery의 find ()는 "선택된 요소를 검색하지 않고 후손 만 검색합니다."
"A"요소를 이미 가리키고있는 것처럼 보이므로 find ()를 제거하십시오.
제휴하지 않습니다 StackOverflow