1.使用jQuery进行DOM操作
1)新建(元素、属性、文本)节点:直接使用$()包装即可,返回值是一个jQuery对象
var $zouziwei = $("<li id='zouziwei'>星期五</li>");
2)把节点插入到文档中:
-append、appendTo:把节点zouziwei插入为节点city的最后一个子节点
$("<li id='zouziwei'>星期五</li>").appendTo($("#city"));
$("#city").append("<li id='zouziwei'>星期五</li>");
-prepend、prependTo:
$("<li id='zouziwei'>星期五</li>").prependTo($("#city"));
$("#city").prepend("<li id='zouziwei'>星期五</li>");
-before、insertBefore:
$("<li id='zouziwei'>星期五</li>").insertBefore($("#bj"));
$("#bj").before("<li id='zouziwei'>-星期五-</li>");
-after、insertAfter:
$("<li id='zouziwei'>星期五</li>").insertAfter($("#bj"));
$("#bj").after("<li id='zouziwei'>-星期五-</li>");
3).删除节点:
$("#bj").remove();
4).清空节点:
$("#game").empty();
5).克隆节点:
$("#bj").clone(true)
.attr("id", "bj2")
.insertAfter($("#rl"));
6).替换节点:
//1.创建一个<li>星期五</li>,替换#city的最后一个li子节点
$("<li>星期五</li>").replaceAll("#city li:last");
//2.创建一个<li>-星期五-</li>节点
//替换#city的第二个li子节点
$("#city li:eq(1)").replaceWith($("<li>-星期五-</li>"));
//3.互换#rl和#bj,#rl和#bj还有移动的功能
//$("#bj").replaceWith($("#rl"));
//节点的互换需要先克隆节点
alert(1);
var $bj2 = $("#bj").clone(true);
var $rl = $("#rl").replaceWith($bj2);
alert(2);
$("#bj").replaceWith($rl);
7).wrap,wrapAll,wrapInner:了解
8).val()、html()、attr()、width()、height()等兼具有读写的方法
//读取某个节点的html内容
alert($("#city").html());
$("#city").html("<li id='dj'>星期五</li>");
//设置某个节点的html内容
$("#city").html("<li>星期五</li>");
2.技术点之外:
1). jQuery对象可以进行隐式迭代:$("p").click(function(){...});
为选取的所有的p节点都添加了click响应函数 jQuery对象本身就是一个DOM对象的数组
2).在jQuery中显示迭代:使用each()方法
3).在响应函数中,this是一个DOM对象,若想使用jQuery对象的方法,需要把其包装成为jQuery对象:
使用$()把this包装起来
4).defaultValue:DOM对象的属性,可以获取表单元素的默认值
5).通过val()为radio赋值:val参数中也应该使用数组,使用一个值不起作用
6).val()不能直接获取checkbox被选中的值,若直接获取只能得到第一个被选择的值,
因为$(":checkbox[name='c']:checked").val()得到的是一个数组,而使用val()方法只能获取数组元素的第一个值
若希望打印被选择的所有值,需要使用each遍历
alert($(":checkbox[name='c']:checked").val());
7).//1.同JS的响应函数一样,jQuery对象的响应函数若返回false,可取消指定元素的默认行为
//比如submit、a等
//2.val()方法,相当于attr("value"),获取表单元素的value属性值
//3.$.trim(str):可以去除str的前后空格
//4.jQuery对象的方法的连缀:调用一个方法的返回值还是调用的对象,
//于是可以在调用方法之后依然调用先前的那个对象的其他方法
8).$.trim(str):可以去除str前后空格
9).jQuery对象的方法的连缀:调用一个方法的返回值还是调用的对象,于是可以在调用的方法后面依然调用先前的那个对象的其他方法
$("#addEmpButton").click(function(){
$("<tr></tr>").append("<td>" + $("#name").val() + "</td>")
.append("<td>" + $("#email").val() + "</td>")
.append("<td>" + $("#salary").val() + "</td>")
.append("<td><a href='deleteEmp?id=xxx'>Delete</a></td>")
.appendTo("#employeetable tbody")
.find("a")
.click(function(){
return removeTr(this);
});
});
10).find():查找子节点,返回值为子节点对应的jQuery对象
//获取$tr的第一个td节点的文本节点的文本值
var $trNode = $(aNode).parent().parent();
var textContent = $trNode.find("td:first").text();
textContent = $.trim(textContent);