jQuery学习教程(四):使用jQuery操作DOM
来源:广州中睿信息技术有限公司官网
发布时间:2012/10/21 23:25:16 编辑:admin 阅读 446
使用jQuery操作DOMDOM(DocumentObjectModel)文档对象模型,是一种与浏览器、平台、语言无关的接口,使用该接口可以轻松地访问页面中所有的标准组件。DOM操作分为三个方面:D

使用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、创建文本节点

  $(function(){       var $p=$("<p>一段文字</p>");      $("body").append($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>  

  

 

联系我们CONTACT 扫一扫
愿景:成为最专业的软件研发服务领航者
中睿信息技术有限公司 广州•深圳 Tel:020-38931912 务实 Pragmatic
广州:广州市天河区翰景路1号金星大厦18层中睿信息 Fax:020-38931912 专业 Professional
深圳:深圳市福田区车公庙有色金属大厦509~510 Tel:0755-25855012 诚信 Integrity
所有权声明:PMI, PMP, Project Management Professional, PMI-ACP, PMI-PBA和PMBOK是项目管理协会(Project Management Institute, Inc.)的注册标志。
版权所有:广州中睿信息技术有限公司 粤ICP备13082838号-2