要执行列表jquery,请划掉项目
To do list jquery, cross out item
我正在用jquery制作一个非常简单的待办事项列表。我有一个用于添加内容的输入框,一旦输入,它就会在下面打印出来:
HTML:
<html>
<head>
<title>My to-do list</title>
<link rel="stylesheet" href="css/list.css" >
</head>
<body>
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="js/list.js"></script>
<div id="empty-top"></div>
<div align= "center" class="wrapper">
<h2>Add thing to your to-do list</h2>
<input id='input' type="text" placeholder="To-do-list" >
</div>
<div class = "things">
</div>
</body>
</html>
我的js文件:
$(function(){
$("#input").keypress(function(e){
if(e.which == 13){
var content = $("#input").val();
$("<li>" + content + "<input id= 'check' type='checkbox'> </li>").appendTo(".things");
};
});
//我想检查一下这个框是否勾选了。如果是,那么我想插入
$("#check").click(function(){
var box = $(this);
$("<del>").insertBefore("<li>");
$("</del>").insertAfter("</li>");
});
});
谢谢!!!!!!!!
首先,不能将LI元素附加到div,它应该是UL或OL父元素,并且不能将LI包装在DEL中,因为DEL元素不能是UL的子元素,所以必须包装内部元素,并在再次取消选中复选框时将其打开。
至于事件处理程序,您可以在创建元素时附加它,并且您应该监听更改事件等。
$(function () {
$("#input").keypress(function (e) {
if (e.which == 13) {
var content = $("#input").val();
var li = $('<li />', {
text : this.value
}),
inp = $('<input />', {
'class': 'check',
type : 'checkbox',
on : {
change: function() {
if (this.checked) {
$(this).closest('li').wrapInner('<del />');
}else{
$(this).unwrap();
}
}
}
});
$('.things').append( li.append(inp) );
};
});
});
FIDDLE
要查看是否选中了复选框,可以使用:
$("input").get(0).checked
我建议在CSS中添加一个类:
.complete{text-decoration:line-through}
如果checked
,则添加complete
类
if($("input").get(0).checked){
$('corresponding-list-item').addClass('complete');
}
相关文章:
- 正在将数据主题添加到所有项目
- 无法在通过jQuery的ajax加载的页面中执行javascript
- JavaScript执行暂时挂起页面
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 当js函数's已执行
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 哪个先执行
- 要执行列表jquery,请划掉项目
- 验证指令代码在ng重复中的每个项目上执行
- AngularJS和REST:执行删除操作,发送许多要删除的项目的数组
- 如何在控制器对添加项目执行操作后更新视图
- JavaScript 没有对我的任何项目进行执行
- 选择多个项目以执行任务
- 单击任一项目时执行条件
- jQuery标签-它,如何执行post时,项目删除
- 当从下拉列表中选择项目时,执行javascript代码
- 重新加载kendo ui网格行项目代码执行错误
- 当HTML5数据列表中的一个项目被选中时,是否可以执行一些代码
- 在控制台上执行ESLint以检查项目的所有文件是否正常
- Lightswitch HTML 客户端:如何重新渲染项目(重新执行 postRender 回调)