jQuery $(document).on() 锚列表选择

jQuery $(document).on() anchor list selection

我正在为一个项目建立一个网上商店。我正在使用 Ajax 请求更改每页显示的产品数量。我不能使用 .click() 方法,因为元素(锚列表)是动态创建的。但是如果我像这样使用 .on() 方法:

$(document).on("click", ".pageNumControl", function(){
    var pageNum=$(".pageNumControl").html();

    $.ajax({
    type:"GET",
    url:"print.php",
    data: { pageNum:pageNum }
    }).done(function (data){
        $('#content').html(data);
        return false;
    });
});

其中 .pageNumControl 是锚点列表的 class 我无法 select 单击的锚点。我尝试使用 a:active 但无济于事。我想知道解决此问题的最佳方法是什么?

正如 @adeneo 在他的评论中所说 (所有功劳归于他),您必须使用 $(this) 访问已单击的元素 ,以便获取其内容并使用。

关于这个关键字的更多信息可以是founded here

所以,如果我们修改原来的代码,形成:

var pageNum=$(".pageNumControl").html();

应该以这样的方式结束:

var pageNum=$(this).html();

现在,作为有远见的人,由于我们的代码会随着时间而改变,因此最好考虑一下您希望从该选择器中获取的内容类型。

$(this).html() returns 选择器中的所有 html 代码,包括格式标记(如果有)
在这种情况下(并且不知道来自 OP 示例的实际代码)可能足以获取选择器中包含的文本,例如:

var pageNum=$(this).text();

也许不是...但了解并注意是件好事。