一、jquery元素节点操作
1、创建节点
var $div = $('<div>');
var $div2 = $('<div>这是一个div元素</div>');
2、插入节点
- 1、append()和appendTo():在现存元素的内部,从后面插入元素
var $span = $('<span>这是一个span元素</span>');
$('#div1').append($span);
......
<div id="div1"></div>
2、prepend()和prependTo():在现存元素的内部,从前面插入元素
3、after()和insertAfter():在现存元素的外部,从后面插入元素
4、before()和insertBefore():在现存元素的外部,从前面插入元素
3、删除节点
$('#div1').remove();
都挺简单的。
课堂练习:todolist(计划列表)实例
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>todolist</title>
<style type="text/css">
.list_con{
width:600px;
margin:50px auto 0;
}
.inputtxt{
width:550px;
height:30px;
border:1px solid #ccc;
padding:0px;
text-indent:10px;
}
.inputbtn{
width:40px;
height:32px;
padding:0px;
border:1px solid #ccc;
}
.list{
margin:0;
padding:0;
list-style:none;
margin-top:20px;
}
.list li{
height:40px;
line-height:40px;
border-bottom:1px solid #ccc;
}
.list li span{
float:left;
}
.list li a{
float:right;
text-decoration:none;
margin:0 10px;
}
</style>
<script type="text/javascript" src="js/jquery-1.12.4.min.js"></script>
<script type="text/javascript">
$(function(){
// 获取元素
var $inputtxt = $('#txt1');
var $btn = $('#btn1');
var $ul = $('#list');
// "增加"按钮的click事件
$btn.click(function(){
// 获取input输入框的内容
var $val = $inputtxt.val();
// 如果输入框为空,则点击增加时提示“请输入内容”
if($val=="")
{
alert('请输入内容');
return;
}
// 增加一行,与其他行格式相同
var $li = $('<li><span>' + $val + '</span><a href="javascript:;" class="up"> ↑ </a><a href="javascript:;" class="down"> ↓ </a><a href="javascript:;" class="del">删除</a></li>');
// 添加到ul末尾
$ul.append($li);
// 输入框初始化
$inputtxt.val("");
})
// 建立事件委托,绑定所有a标签click事件
$ul.delegate('a','click',function(){
// 获取当前点击标签的class
var $handler = $(this).prop('class');
// 删除
if($handler=='del')
{
$(this).parent().remove();
}
// 上升
if($handler=='up')
{
// 如果当前标签的父标签前面没有元素
if($(this).parent().prev().length==0)
{
alert('到顶了!');
return;
}
// 将当前标签的父标签插入到父标签的前面
$(this).parent().insertBefore( $(this).parent().prev() );
}
// 下降
if($handler=='down')
{
if($(this).parent().next().length==0)
{
alert('到底了!');
return;
}
$(this).parent().insertAfter( $(this).parent().next() );
}
})
})
</script>
</head>
<body>
<div class="list_con">
<h2>To do list</h2>
<input type="text" name="" id="txt1" class="inputtxt">
<input type="button" name="" value="增加" id="btn1" class="inputbtn">
<ul id="list" class="list">
<li>
<span>学习html</span>
<a href="javascript:;" class="up"> ↑ </a>
<a href="javascript:;" class="down"> ↓ </a>
<a href="javascript:;" class="del">删除</a>
</li>
<li>
<span>学习css</span>
<a href="javascript:;" class="up"> ↑ </a>
<a href="javascript:;" class="down"> ↓ </a>
<a href="javascript:;" class="del">删除</a>
</li>
<li>
<span>学习javascript</span>
<a href="javascript:;" class="up"> ↑ </a>
<a href="javascript:;" class="down"> ↓ </a>
<a href="javascript:;" class="del">删除</a>
</li>
</ul>
</div>
</body>
</html>
实现的效果:

- 文本框输入内容点击增加,输入的内容会显示在下面,右边有删除、↑、↓的选项。
- 若输入的内容为空,点击增加时,会提示“请输入内容”
- 点击删除可以将该行删除
- 点击↑可以将该行上升,上升到最顶部时提示“到顶了!”
- 点击↓可以将该行下降,上升到最顶部时提示“到底了!”