zoukankan      html  css  js  c++  java
  • jQuery学习教程(四):使用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、创建文本节点

    $(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>
    

      

  • 相关阅读:
    (转)Golang reflect.DeepEqual函数:判断两个值是否一致
    Kubernetes字段Finalizers
    校园电子屏无人值守模式探索
    史上最全测试开发工具推荐(含自动化、性能、稳定性、抓包)
    Java 将Word转为HTML的方法
    C# 在PPT中添加数学公式
    C# 将PPT转为OFD/DPT/DPS/ODP/POTX/UOP
    C# 将Excel转为OFD、UOS
    Java 扫描识别条形码图片
    C# 加载Word的3种方法
  • 原文地址:https://www.cnblogs.com/liangle/p/2512669.html
Copyright © 2011-2022 走看看