【发布时间】:2020-11-03 17:17:49
【问题描述】:
我是学生,不久我就开始学习编程了。 为了解释,下面的代码比实际代码简化了。 'test()' 实际上是获取数据的 Ajax 函数。 我的目标是为分页操作制作“标签”。 但是当我点击'a tag'时,'$(document).ready'内部的'test()'在'a tag'点击事件发生后被调用。 所以页面总是回到1。 我不知道为什么会这样。 任何人都可以帮助我吗? 谢谢!
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script type="text/javascript">
var page = 1;
$(document).ready(function(){
test();
alert(page);
});
function test(){
for(var i = 1; i <= 3; i++) {
var a = $("<a></a>").text(i).attr({
href: "",
idx: i
});
a.preventDefault;
$(a).click(function(){
page = $(this).attr("idx");
test();
alert(page);
});
$("#pageLink").append(a," ");
}
}
</script>
</head>
<body>
hello!
<div id="pageLink"></div>
</body>
</html>
【问题讨论】:
-
不是问题的一部分,但
a已经是一个 jQuery 对象,你不需要再用 $() 包装它。 -
我解决了问题。感谢您提供有关 jQuery 对象不需要用'$()' 包装它的建议。我不知道。
标签: javascript html jquery