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();
也许不是...但了解并注意是件好事。
我正在为一个项目建立一个网上商店。我正在使用 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();
也许不是...但了解并注意是件好事。