jQuery第四章jQuery与DOM

来源:互联网 发布:网络语茶叶蛋什么意思 编辑:程序博客网 时间:2024/05/23 00:03

jQuery第四章jQueryDOM

 jQuery常见操作

-创建节点 查找节点 插入节点 移动节点 删除节点 复制节点 替换节点 包裹节点

克隆、移动、包裹----新,dom没有的

创建节点:  var $div5 = $("<div id='div5'>我是div5</div>");

 

插入节点:

插入同级元素(兄弟元素)

after() 在每个匹配的元素之后插入内容 HTML代码:

<p>我想说:</p>

jQuery代码:

$("p").after("<b>你好</b>");

结果:

<p>我想说:</p><b>你好</b>

 

insertAfter    after()相反 HTML代码:

<p>我想说:</p>

jQuery代码:

$("<b>你好</b>").insertAfter("p");

结果:

<p>我想说:</p><b>你好</b>

 

before() 在每个匹配的元素之前插入内容 HTML代码:

<p>我想说:</p>

jQuery代码:

$("p").before("<b>你好</b>");

结果:

<b>你好</b><p>我想说:</p>

 

insertBefore() before()相反 HTML代码:

<p>我想说:</p>

jQuery代码:

$("<b>你好</b>").insertBefore(“p");

结果:

<b>你好</b><p>我想说:</p

 

插入子级元素

append() 向每个匹配的元素内部追加内容 HTML代码:

<p>我想说:</p>

jQuery代码:

$("p").append("<b>你好</b>");

结果:

<p>我想说:<b>你好</b></p>

 

appendTo() append相反 HTML代码:

<p>我想说:</p>

jQuery代码:

$("<b>你好 </b>").appendTo("p");

结果:

<p>我想说:<b>你好</b></p>

 

prepend()  向每个匹配的元素内部前置内容 HTML代码:

<p>我想说:</p>

jQuery代码:

$("p").prepend("<b>你好</b>");

结果:

<p><b>你好</b>我想说:</p>

 

prependTo() prepend相反 HTML代码:

<p>我想说:</p>

jQuery代码:

$("<b>你好 </b>").prependTo("p");

结果:

<p><b>你好</b>我想说:</p>

 

移除节点

remove()删除

jquery对象.remove();//返回被移除的节点的jQuery对象

$("#div1").remove();

empty() 清空

$("ul li:eq(3)").empty();//清空元素中的内容

 

把remove()方法改成empty()演示

节点的替换(修改)

replaceWith()方法

: div4替换成一个文本框

 

$("#div4").replaceWith("<input type='text' name='pname' value='产品名称'><br/>");

 

body中的代码

<p>我是一个段落</p>

<input type="button" name="" id="" value="替换节点" onclick="test();"/>

replaceAll()方法 (replaceWith()相反)

 

$("<input type='text' name='pname' value='产品名称'><br/>").replaceAll($("#div4"));

 

节点移动:  $("ul li:eq(2)").insertAfter("ul li:eq(0)");

演示代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <title>演示表格的作用一:使用表格来显示表格数据</title>

   

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">

    

   <script src="../../js/jquery/jquery-1.7.2.js" type="text/javascript" charset="utf-8"></script>

   <style type="text/css">

* {

margin: 0px;

}

 

a {

border: 1px solid #e4393c;

display: block;

width: 150px;

background: #e4393c;

height: 26px;

line-height: 26px;

color: #fff;

font-size: 15px;

font-family: '微软雅黑';

text-align:center;

text-decoration:none;

white-space:pre;

}

 

ul {

list-style-type:none;

padding:0px;/*新浏览器 firefox safari都是使用内边距控制缩进的 新ie也是*/

margin:0px;/*ie是使用外边距缩进的 所以光设置padding:0pxid 不会去掉索引 为了兼容老ie*/

}

li a:hover {

background-color:#F7F7F7;

color:#e4393c;

border-right:#F7F7F7;

}

</style>

<script src="../../js/jquery/jquery-1.7.2.js" type="text/javascript" charset="utf-8"></script>

  

<script type="text/javascript">

    $(function(){

      $("ul li:eq(2)").insertAfter("ul li:eq(0)");

    });

</script>

  

 

  </head>

  

  <body>

   <ul>

<li><a href="">手    机</a></li>

<li><a href="">笔记本</a></li>

<li><a href="">图书音像</a></li>

<li><a href="">服装鞋帽</a></li>

</ul>

  </body>

</html>

 

 

克隆节点

jQuery对象.clone();//返回克隆出来的对象,相当于 对象.clone(false);

jQuery对象.clone(true);//克隆出来的对象含有事件

 

节点的包裹

wrap()方法

<strong>你最喜欢的水果是?</strong><br/>

<strong>你最喜欢的水果是?</strong>

 

$("strong").wrap("<b></b>")

 

包裹后的结果

<b>

<strong>你最喜欢的水果是?</strong>

</b>

<br>

<b>

<strong>你最喜欢的水果是?</strong>

</b>

 

wrapAll()方法

 

$("strong").wrapAll("<b></b>")

 

<b>

<strong>你最喜欢的水果是?</strong>

<strong>你最喜欢的水果是?</strong>

</b>

<br>

 

 

wrapInner()方法 包裹里面的文本

$("strong").wrapInner("<b></b>")

 

包裹后的结果

<strong>

<b>你最喜欢的水果是?</b>

</strong>

<br>

<strong>

<b>你最喜欢的水果是?</b>

</strong>

 

遍历子元素

children() 获得所有孩子节点,不包括孙子节点

var v1 = $("body").children();//查找body的孩子结点,不包括孙子节点,返回集合元素

 

jQuery对象.find()  jQuery对象下找 某个元素

var $div1 = $("#div1");

console.info($div1.find("p"));//iddiv1的元素下找p节点

 

遍历兄弟元素

访问下面的一个元素 对象.next();

访问上面的一个元素 对象.prev();

访问所有的兄弟元素 对象.siblings();

 

遍历父元素

对象$("p").parent();// 得到p元素的父亲节点

$("p").parents() ;//得到p元素的所有父亲节点