节点操作

jQuery中节点操作

查找节点(前面章节已讲)

创建节点

插入节点

删除节点

替换节点

复制节点

创建节点元素

工厂函数$()用于获取或创建节点

$(selector):通过选择器获取节点

$(element):把DOM节点转化成jQuery节点

jQuery 替换 HTML 文本 jquery替换节点的方法_jQuery 替换 HTML 文本

 $(html):使用HTML字符串创建jQuery节点

var $newNode=$("<li></li>");

 var $newNode1=$("<li>你喜欢哪些项目?</li>");

var $newNode2=$("<li title='last'>游泳是再合适不过了!</li>");

元素内部插入子节点

jQuery 替换 HTML 文本 jquery替换节点的方法_List_02

元素外部插入同辈节点

jQuery 替换 HTML 文本 jquery替换节点的方法_jQuery_03

 

jQuery 替换 HTML 文本 jquery替换节点的方法_jQuery 替换 HTML 文本_04

 删除节点

jQuery提供了三种删除节点的方法

remove():删除整个节点

empty():清空节点内容

detach():删除整个节点,保留元素的绑定事件

jQuery 替换 HTML 文本 jquery替换节点的方法_jQuery_05

 

jQuery 替换 HTML 文本 jquery替换节点的方法_大数据_06

 替换节点

replaceWith()和replaceAll()用于替换某个节点

var $newNode1=$("<li>你喜欢哪些运动项目?</li>");

$(".gameList li:eq(2)").replaceWith($newNode1);

($newNode1).replaceAll(".gameList li:eq(2)");

jQuery 替换 HTML 文本 jquery替换节点的方法_jQuery 替换 HTML 文本_07

 

复制节点

clone()用于复制某个节点

参数ture或flase, true复制事件处理,flase时反之

// clone里面写false或者不写,只能克隆元素及内容,不能克隆绑定的事件,只有写了true才能克隆绑定的事件,也就是点击了克隆的元素也会有点击事件

$(selector).clone([includeEvents]) ;

$(".gameList li:eq(1)").click(function(){

     $(this).clone(true).appendTo(".gameList");

    })

$(".gameList li:eq(2)").click(function(){

     $(this).clone(false).appendTo(".gameList");

    })

jQuery 替换 HTML 文本 jquery替换节点的方法_jQuery_08

 

属性操作

获取与设置元素属性

删除元素属性

获取与设置元素属性

attr()用来获取与设置元素属性

获取属性值

$(selector).attr([name]) ;

设置多个属性的值

$(selector).attr({[name1:value1]…[nameN:valueN]}) ;

示例:$(".contain img").attr({width:"200",height:"80"});

jQuery 替换 HTML 文本 jquery替换节点的方法_List_09

 

删除元素属性

removeAttr()用来删除元素的属性

$(selector).removeAttr(name) ;

删除元素的alt属性

$(".contain img").removeAttr("alt");

jQuery 替换 HTML 文本 jquery替换节点的方法_jQuery_10

jQuery 替换 HTML 文本 jquery替换节点的方法_jQuery_11

 

jQuery 替换 HTML 文本 jquery替换节点的方法_jQuery 替换 HTML 文本_12

节点遍历

遍历子元素

遍历同辈元素

遍历前辈元素

其他遍历方法

遍历子元素

children()方法可以用来获取元素的所有子元素

$(selector).children([expr]);

获取<section>的子元素,但不包含子元素的子元素

var $section =$("section").children();

alert($section.length);

jQuery 替换 HTML 文本 jquery替换节点的方法_List_13

遍历同辈元素

jQuery可以获取紧邻其后、紧邻其前和位于该元素前与后的所有同辈元素

语法 功能

next([expr]) 用于获取紧邻匹配元素之后的元素

$("li:eq(1)").next().addClass("orange");

prev([expr]) 用于获取紧邻匹配元素之前的元素

$("li:eq(1)").prev().addClass("orange");

siblings([expr]) 用于获取位于匹配元素前面和后面的所有同辈元素

$("li:eq(1)").siblings().addClass("orange");

jQuery 替换 HTML 文本 jquery替换节点的方法_List_14

遍历前辈元素

jQuery中可以遍历前辈元素

parent():获取元素的父级元素

parents():元素元素的祖先元素

 closest():返回被选元素的第一个祖先元素。就是我们从这个元素开始,进行向上遍历,直到找到我们要找的元素,遍历停止,也就是说寻找第一个祖先元素。
$(“span”).closest(“ul”).css({“color”:“red”,“border”:“2px solid red”});
这行代码意思就是从“span”元素开始进行遍历,寻找“ul”元素,当找到第一个“ul”元素,遍历停止,给当前ul元素设置css属性

jQuery 替换 HTML 文本 jquery替换节点的方法_List_15

jQuery 替换 HTML 文本 jquery替换节点的方法_删除元素_16

 

$("li:eq(1)").parent().addClass("orange");

 $("li:eq(1)").parents().addClass("orange");

其他遍历方法

each( ) :规定为每个匹配元素规定运行的函数

Index 选择器的位置 从0开始

Element 当前的元素

$(selector).each(function(index,element)) ;

$("img").click(function(){

       $("li").each(function(){

           var str=$(this).text()+"<br>";

           $("section").append(str);

       })

   });

jQuery 替换 HTML 文本 jquery替换节点的方法_jQuery 替换 HTML 文本_17

 

find() 方法返回被选元素的后代元素,一路向下直到最后一个后代。

下面的例子返回属于 <div> 后代的所有 <span> 元素:

实例

$(document).ready(function(){

  $("div").find("span");

});

jQuery 替换 HTML 文本 jquery替换节点的方法_删除元素_18

 CSS-DOM操作

除css()外,还有获取和设置元素高度、宽度等的样式操作

jQuery 替换 HTML 文本 jquery替换节点的方法_删除元素_19

 

width和height是本身jq中的方法:

jQuery 替换 HTML 文本 jquery替换节点的方法_删除元素_20

:offset():返回以像素为单位的letf和top坐标,只对可见元素有效,设置display:none就会i无效;

如果设置了绝对定位,那么会获取绝对定位距离父元素的值left值和top值;

jQuery 替换 HTML 文本 jquery替换节点的方法_删除元素_21

:offseparent():返回最近的已定位的祖先元素

jQuery 替换 HTML 文本 jquery替换节点的方法_大数据_22