因此,我正在为我的站点创建TagCloud,并且在使用JQuery提醒我所选链接时遇到了问题。
该站点很好地创建了链接,为它们提供了“ tagLink”类,但是当我尝试使用该类警告元素的数量时,它给了我0。
有任何想法吗??
这是我的代码:
$(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}
});
});
});
最佳答案
getJSON是异步的,因此您的选择器在添加标签链接之前便已运行。将标记链接点击处理程序分配移到AJAX回调中。
关于jquery - jQuery-无法按类选择动态创建的URL标记,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7490133/