2012-10-25 4 views
-1

내가 가지고있는 많은 div의콘텐츠로드 (많은 다른 div의)

<div id="movies" rel="info.php?m=19923"></div> 
<div id="movies" rel="info.php?m=98127"></div> 
<div id="movies" rel="info.php?m=39423"></div> 
<div id="movies" rel="info.php?m=32942"></div> 
<div id="movies" rel="info.php?m=15454"></div> 
<div id="movies" rel="info.php?m=143436"></div> 

100 + div의

어떻게 든 jQuery를하고 .load 업데이트의 I의 친척의 파일을 표시하기 위해 각 사업부 수 (info.php ? m = XXXXX) info?

나는이 http://jasonlau.biz/home/jquery/screw-a-jquery-plugin

이 함수를 발견하지만 난 게으른 효과를 원하지 않는다. 그냥 시작부터로드가 시작됩니다.

+3

이 작업을 수행하지 않습니다. 페이지에 100 개 이상의 AJAX 요청을 사용하여 콘텐츠를 채우는 것은 매우 나쁜 아이디어입니다 **. 서버를 손상시킬뿐만 아니라 대단히 나쁜 사용자 경험이 될 것입니다. 너는이 페이지를 어떻게 함께 모으고 있는지 다시 생각할 필요가있다. – meagar

+0

감사합니다. 나는 그런 경우에 대해 걱정했다. – user1363929

+0

나는 @meagar에 동의한다. 페이지의 렌더링을 제어 할 수 있다면 서버 측과 비슷한 것을 사용하거나 info.php 스크립트의 내용을 페이지에 삽입해야합니다. – lastcanal

답변

0

다음은 jQuery를 사용하여 수행하는 방법의 예입니다. class 이름이 movies 인 모든 요소를 ​​찾고 jQuery get 함수를 호출하여 ajax 요청을 수행합니다. 요청의 응답은 콜백 함수의 첫 번째 매개 변수로 사용할 수 있습니다 (이 예제에서는 data). 데이터가 있으면 jQuery의 html 함수를 사용하여 DOM 요소에 추가 할 수 있습니다.

$(".movies").each(function(){ 
    // make a reference to the current div 
    var element = $(this); 
    // get the url 
    var url = element.attr('rel'); 
    // make ajax request 
    $.get(url, function(data) { 
     // append the data to the div 
     element.html(data); 
    }); 
}) 

HTML ID는 고유해야합니다. 귀하의 예에서는 ID가 movies 인 div가 두 개 이상 있습니다. $('#movies')을 사용하여 ID별로 요소를 선택할 수 있지만 ID와 일치하는 첫 번째 요소 만 반환합니다. 당신이 HTML을 제어 할 경우, 각 사업부는 더 다음과 같아야합니다

<div class="movies" rel="info.php?m=19923"></div>

+0

감사합니다. 완벽하게 작동합니다. – user1363929