“清除未排序列表”按钮不起作用
Clear Unordered list button not working
我已经盯着这个问题看了好几个小时了。我刚刚开始学习Jquery,我有一个小项目需要我使用一个按钮来清除无序列表中的元素。
首先,我主要跟踪用户的鼠标位置和鼠标点击。每次他们点击按钮,我都会建立一个无序的列表,并记录x,y的位置。然后,我应该用一个按钮来清除列表。一切似乎都很好,但点击按钮时,会添加到列表中,而不是清除它。
有人能帮我找出问题吗?
<!doctype html>
<head>
<title>Click away</title>
<link href="stylesheets/standard.css" rel="stylesheet">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
var count = 0;
$("html").click(function(){
count++;
$("#display").html("The click count is: " + count);
});
$("html").click(function(e) {
var xPos = e.pageX;
var yPos = e.pageY;
$("#list").append("<li>" + xPos + ", " + yPos + "</li>");
});
//This is the section I can't get to work
$("#clear").click(function () {
$("#list").remove();
});
</script>
</head>
<body>
<h1> Click away</h1>
<h2>Start clicking...</h2>
<h2 id="display"></h2>
<button id="clear">Clear the location list</button>
<h2>Click locations:</h2>
<ul id="list"></ul>
</body>
</html>
使用$("#list").empty();
使用$("#list").children().remove();
也会起作用,但第一个更有效。
我认为您还应该将clear按钮从列表中排除,并将代码放入.ready()
处理程序中,以便在DOM准备好并加载元素后执行代码:
$(document).ready(function(e) {
var count = 0;
$("html").click(function () {
count++;
$("#display").html("The click count is: " + count);
});
$("html").click(function (e) {
if (e.target !== document.getElementById('clear')) { //exclude the clear button
var xPos = e.pageX;
var yPos = e.pageY;
$("#list").append("<li>" + xPos + ", " + yPos + "</li>");
}
});
$("#clear").click(function () {
$("#list").empty(); //empty list
});
});
$("#list").empty();
它将清除该元素的所有子元素。
相关文章:
- JS动态添加字段-删除按钮不起作用
- 一键启动按钮不起作用
- 带有向下钻取的 Amchart 图表工作正常,但“后退”按钮不起作用
- 为什么不'这个HTML按钮不起作用
- 使用javascript后,提交按钮不起作用
- 镀铬延长件内部的聚合物纸按钮不起作用
- 我的提交按钮不起作用
- AngularJs:多次点击同一个按钮不起作用
- Ruby on Rails - 引导旋转木马按钮不起作用
- 为什么我的开关按钮不起作用
- 无法弄清楚为什么提交按钮不起作用
- 使用动画时Jquery后退按钮不起作用
- 禁用浏览器中的后退按钮不起作用
- 打印按钮不起作用
- jQuery-关闭按钮不起作用
- HTML按钮不起作用
- 清除Javascript/HTML中的画布按钮不起作用
- '有角度的靠背'返回页首按钮不起作用
- onclick() jQuery/JavaScript 显示饼图的按钮不起作用
- 网页Jquery下拉按钮不起作用