使用jQuery操作DOM
使用jQuery操作DOM
DOM(Document Object Model)文档对象模型,是一种与浏览器、平台、语言无关的接口,使用该接口可以轻松地访问页面中所有的标准组件。
DOM操作分为三个方面:DOM Core(核心)、HTML-DOM和CSS-DOM
1) DOM Core:常使用getElementByID(),getElementsByTagName(),getAttribute()和setAttribute()
2) HTML-DOM:如document.forms,element.src
3) CSS-DOM:如element.style.color="#f00"
查找节点
1、查找元素节点:使用jQuery选择器器,例$("ul li:eq(0)").text()获取<ul>中第1个<li>节点内的文本内容;
2、查找属性节点:使用attr()方法获取节点属性值。当attr()方法参数为一个时得到属性值,例$("a:eq(0)").attr("href")获取第一个<a>的href属性;
创建节点
1、创建元素节点:
包括两个步骤,一是创建新元素,二是将新元素插入到文档中(父元素之中);
$(function(){ var $p=$("<p></p>");//不可使用$("<p>")或$("<P>"),可使用$("<p/>") $p.text("一段文字"); $("body").append($p); });
2、创建文本节点
<P>$(function(){ var $p=$("<p>一段文字</p>"); $("body").append($p); });</P>
3、创建属性节点(与创建文本节点类似)
插入节点
append()//向每个匹配的元素内部追加内容
appendTo()//将所匹配的元素追加到指定的元素中;$(a).appendTo(b)将a追加到b中
prepend()//向每个匹配的元素内部前置内容,如$("p").prepend("<b>您好</b>");产生<p><b>您好<b>Walkingp</p>
prependTo()//将所匹配的元素前置到指定的元素中。如$("<b>您好</b>").prependTo("p");
after()//在每个匹配的元素之后插入内容,如$("p").prepend("<b>您好</b>");产生<p>Walkingp</p><b>您好</b>
insertAfter()//将所有匹配元素插入到指定元素的后面,如$("<b>您好</b>").insertAfter("<p>");
before()//在所匹配的元素之前插入内容,如$("p").before("<b>您好</b>")产生:<b>您好</b><p>walkingp</p>
insertBefore()//将所匹配的元素插入到指定的元素的前面,如$("<b>您好</b>").insertBefore("p")
删除节点
1、remove()方法//从DOM中删除所匹配的元素,如$("ul li:eq(1)").remove();//删除第2个<li>元素节点,值得注意的是,此方法应该对应js对象方法中的 removeChild,removeChild方法移除节点并未真正释放,可以重新引用此节点。
<script type="text/javascript"> document.onreadystatechange=function(){ var ul=document.getElementsByTagName("ul")[0]; var li=ul.removeChild(ul.childNodes[0]); for(i=0;i<ul.childNodes.length;i++) { ul.removeChild(ul.childNodes[i]); } ul.appendChild(li); } /*使用jQuery $(function(){ var $li=$("ul li:eq(0)").remove(); $("ul").append($li); });*/ </script> </head> <body> <ul> <li>项目一</li> <li>项目二</li> <li>项目三</li> </ul>
2、empty()方法:清空节点,注意此方法并不删除节点,因此对于上面一个dom,使用如下代码
$(function(){ var $li=$("ul li:eq(0)").empty(); });
复制节点
clone()方法:克隆匹配的DOM元素并且选中这些克隆的副本
<script type="text/javascript"> $(function(){ $("button").click(function(){ $(this).clone().insertAfter(this); }); }); </script> <button>复制我♣</button>
一、推荐使用迅雷或快车等多线程下载软件下载本站资源。
二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。
三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!
四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.
五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。
六、如需转载本站资源,请注明转载来自并附带链接
七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com
- 1尚硅谷前端学科全套视频[AVI][130.72GB]
- 2深入理解php:高级技巧、面向对象与核心技术(原书第3版) 【PDF】
- 3开发高质量PHP框架与应用的实际案例解析【PDF】
- 4响应式Web图形设计 ([美]Christopher Schmitt) 中文【PDF】
- 5响应式Web设计:HTML5和CSS3实践指南【PDF】
- 6响应式Web设计:HTML5和CSS3实战 第2版 (本·弗莱恩) 中文【PDF】
- 7Axure RP8 实战手册 网站和APP原型制作案例精粹(小楼一夜听春语) 试读版【PDF】【15.4MB】
- 8[马上学Android]安卓开发视频教程
- 9Android开发视频教程
- 10PHP100视频教程
- 1Java编程思想On Java 8[PDF][中文][英文][源码][15.31MB]
- 2PostgreSQL实战 (谭峰等著)【PDF】【221.29MB】
- 3【机器学习】菜菜的sklearn课堂(1-12全课)[PDF][源码][157.45MB]
- 4UNREAL ENGINE 4蓝图完全学习教程[PDF][66.67MB]
- 5加密与解密(第4版)[PDF][光盘源码][1.15GB]
- 6Qt 5.9 C++开发指南[PDF][276.26MB]
- 7Python数据分析与应用PPT、教案、实训数据、习题答案[PPT][142.49MB]
- 8数据中台:让数据用起来[PDF][12.80MB]
- 9计算机网络:自顶向下方法(第7版) 【PDF】【英文】【17.46MB】
- 10大话5G:走进万物互联新时代【PDF】【37.31MB】