문제

이것은 간단한 대답 일지 모르지만이 작은로드 스크립트를 작성하는 몇 가지 문제가 있습니다. 어딘가에 버그가 있다고 생각합니다. 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 ()를 제거하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top