JQuery DOM 操作

JQuery DOM 操作

这我们创建一个简单的html页面
<body>
	
	<p title="ppp">ppp</p>

<ul>
	<li>篮球</li>
	<li>足球</li>
</ul>

	</body>
01 查找节点元素
	var $li=$('ul li:eq(1)');   //获取ul里面的第二个li节点【注意:eq(num),num是从0开始的】
	alert($li.text())			//获取第二个li节点中的文本内容,同时打印出来
				
02 查找节点属性
	var $p=$('p:eq(0)');    //获取第一个p节点
	alert($p.attr("title"))// 获取节点属性title,并打印出来
03 创建节点元素
	var $li01=$("<li title='台球'>台球</li>");		//创建文本节点和属性
04 插入节点
方法描述示例
append( )在每个匹配的元素内部追加内容如段落p中添加标记:$(“p”).append(“hello”);
appendTo( )将所有的匹配元素追加到指定元素中$(“hello”).appendTo(“p”);
prepend( )向每个匹配的元素内部前置内容$(“p”).prepend(“hello”);
prependTo ( )将所有匹配的元素前置到指定的元素中$(“hello”).prependTo (“p”);
after( )在每个匹配的元素之后插入内容$(“p”).after(“hello”);
insertAfter( )将所有匹配的元素插入到指定元素后面$(“hello”).insertAfter(“p”);
before( )在每个匹配的元素之前插入内容$(“p”).before(“hello”);
insertBefore( )将所有匹配的元素插入到指定的元素的前面$(“hello”).insertBefore(“p”);

实例几方法

	$("ul").append($li01);
	$li01.appendTo("ul")
05 删除节点
1. remove()方法

作用:从DOM中删除所有匹配的元素,传入的参数用于根据JQuery表达式来筛选元素。
eg:

	$("ul li:eq(1)").remove();

当某个节点用remove()方法删除后,该节点所包含的所有后代节点将同时被删除。这个方法的返回值是一个指向已被删除的节点的引用,因此可以在以后再使用这些元素。

eg:
	var $li=$("ul li:eq(1)").remove();
	$li.apppendTo("ul");

这里删除只是从网页中删除。在JQuery对象中,这个元素还是存在的,我们可以重新获取它。

2.  empty()方法

严格来说 empty()方法并不是删除节点,而是清空点节点,它能清空元素中的所有后代节点

eg:
	
	 //获取第二个li元素节点,清空此元素里的内容,注意是元素里
	$("ul li:eq(1)").empty(); 

05 复制节点

	$("ul li:eq(0)").clone().appendTo("ul");clone()方法中传递一个参数true,它的含义是复制元素的同时复制元素中所绑定的事件。因此该元素的副本也同样具有复制功能

	$("ul li:eq(0)").clone(true).appendTo("ul");

06 替换节点

replaceWith()replaceAll()

replaceWith()方法的作用是将所有匹配的元素都替换成指定的HTML或者DOM元素
eg:
<body>	
    <p title="选择你最喜欢的运动">你最喜欢的运动项目是?</p>
</body>
	
<script>
	$(function(){
	  	//replaceWith()方法
		$("P").replaceWith("<strong>你最喜BU欢的运动项目是?</strong>")
	   //replaceAll()方法	
		$("<strong>你最喜BU欢的运动项目是?</strong>").replaceAll("p");
	})
</script>
	


07 包裹节点
	<body>
  		 <strong>你最喜BU欢的运动项目是?</strong>
   		 <strong>你最喜BU欢的运动项目是?</strong>
	 </body> 
	 
1. wrap()方法 
	$("strong").wrap("<b></b>");	//用<b>标签把<strong>元素包裹起来

2. wrapAll()方法
	该方法会将所有的匹配的元素用一个元素来包裹。它不同于wrap()方法,wrap()方法 是将所有的元素进行单独的包裹。
	
使用wrap()方法[  $("strong").wrap("<b></b>");  ]结果为: 
	
	<body>
  		 <b> <strong>你最喜BU欢的运动项目是?</strong> </b>
 		 <b> <strong>你最喜BU欢的运动项目是?</strong> </b>
	</body> 

使用wrapAll()方法[  $("strong").wrapAll("<b></b>");  ]结果为:
	
	<body>
  		 <b>
  		    <strong>你最喜BU欢的运动项目是?</strong> 
 		    <strong>你最喜BU欢的运动项目是?</strong>
 		 </b>
	</body> 
3. wrapInner()方法
	该方法将每一个匹配的元素的子内容(包括文本节点)用其他结构化的标记包裹起来。
	eg:
	 $("strong").wrapInner("<b></b>");
	结果为:
	  <strong><b>你最喜BU欢的运动项目是?</b></strong>

08 属性操作
===>1. 获得属性和设置属性

	如果要获得<p>元素的属性title,那么只需要给attr()方法传递一个参数,即属性名称
eg:
	var $para=$("p");
	var p_txt=$para.attr("title");
	如果要设置<p>元素的属性title的值,也可以使用用一个方法,不同的是,需要传递两个参数及属性名称和对应的值
eg:
	$("p").attr("title","标题名");
	如果需要一次性为同一个元素设置多个属性。则:
eg:
    $("p").attr({"title":"标题名","name":"张三"});

===> 注意:<===
	JQuery中的很多方法都是同一个函数实现获得(getter)和设置(setter)的,例如上面的attr()方法,既能设置元素属性的值,也能获得元素属性的值。类似的还有html()text()height()width()val()css()等方法。


===>2. 删除属性

	removeAttr()方法:
eg:
	$("p").removeAttr("title")   //删除<p>元素的属性'title'
	
09 样式操作
===>1.获得样式和设置样式

 eg:
 HTML代码如下:
 	<p class="myClass" title="选择喜欢的运动">你最喜欢的运动是?</p>

  在上面的代码中,class也是<P>元素的属性,因此获得class和设置class都可以使用attr()方法来完成。
  eg:
  
  var p_class=$("p").attr("class");    //获得<P>元素的class
  
  $("p").attr("class","high");   	   //设置<P>元素的class为"high

So:在大多数时候,它是将原来的class替换成新的class,而不是在原来的基础上追加新的class

===>2.追加样式

   addClass()方法:
eg:
   $("p").addClass("追加的class类")

实例:
 	<style>
 	.newClss{
 		color:red;
 		fon
      }
 	</style>   
   
  
 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值