2011-09-20 148 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回调中移动taglink单击处理程序分配。

+0

啊,你是个天才!没有抓住那个。谢谢! – JimmyJammed