2011-09-20 4 views
2

내 사이트에 대해 TagCloud를 만들고 JQuery를 사용하여 선택한 링크를 알리는 데 문제가 있습니다. 사이트는 링크를 잘 만들었고, 그들에게 'tagLink'클래스를 제공합니다.하지만 그 클래스의 요소 수를 알려 주려고 할 때, 제게 0을줍니다. 어떤 아이디어 ??JQuery - 클래스별로 동적으로 생성 된 URL 태그를 선택할 수 없습니다.

$(function() { 
    //get tag feed 
    $.getJSON("tagcloud/tagcloud.php?callback=?", function(data) { 
      //create list for tag links 
     $("<ul>").attr("id", "tagList").appendTo("#tagCloud"); 
     //create tags 
     $.each(data.tags, function(i, val) { 
      //create item 
      var li = $("<li>"); 
      //create link 
      $("<a>").addClass('tagLink').text(val.tag).attr({title:"See all pages tagged with " + val.tag, href:"tags/" + val.tag + ".php", id: val.tag}).appendTo(li); 
      //set tag size 
      li.children().css("fontSize", (val.freq/10 < 1) ? val.freq/10 + 1 + "em": (val.freq/10 > 2) ? "2em" : val.freq/10 + "em"); 
      //add to list 
      li.appendTo("#tagList"); 
     }); 
    }); 

    //Increase database if link is clicked 
    alert($('.tagLink').size());//Test how many exist 
    $('.tagLink').click(function(){ 
     var id = $(this).attr('id'); 
     $.ajax({  
      url: "tagcloud/tagcloud.php", 
      type: "POST", 
      data: {clicked : id} 
     }); 
    }); 


}); 

답변

4

해서 getJSON 그래서 당신의 선택은 태그 링크가 추가됩니다 전에 실행됩니다 비동기 : 다음은 내 코드입니다. AJAX 콜백 내에서 태그 링크 클릭 핸들러 할당을 이동하십시오.

+0

아하 너는 천재 야! 그걸 잡지 못했어요. 감사! – JimmyJammed