# jQuery操作DOM 和 增删改查 – 1.html() “`js $(‘ul li‘).html();//获取ul下第一个li元素下的内容 $(‘ul li‘).html(‘9‘);//把ul下所有li元素下的内容改为9 $(‘ul li‘).html(function(index, ele){ return ‘<p style=”color:orange”>‘+ index +‘</p>‘ });//把ul下所有li元素下的内容改为return的内容 “`
– 2.text() “`js $(‘ul‘).text();//获取ul元素的后代元素的所有文本节点 $(‘ul li‘).text(function(index, ele){ return ‘<p style=”color:orange”>‘+ index +‘</p>‘ });//把ul下所有li元素下的内容改为return的字符串信息 “`
– 3.size() “`js $(‘ul li‘).size();//获取ul下li元素的个数 “`
– 4.addClass() “`js $(‘.demo‘).addClass(‘demo1 demo2‘); $(‘.demo‘).addClass(function(index, ele){ return ‘demo1‘;//在原来class=‘demo‘的基础上,加上demo1 }); “`
– 5.removeClass() 移除class
– 6.hasClass() 是否拥有某个class名
– 7.css() “`js $(‘.demo‘).css({width:‘100px‘, height:‘100px‘, backgroundColor:‘red‘});//赋值操作 $(‘.demo‘).css(‘width‘);//取值操作 “`
– 8.attr() 基于setAttribute getAttribute 自定义属性,和行间属性 “`js $(‘.demo‘).attr(‘class‘);//取值 $(‘.demo‘).attr(‘class‘, ‘wrapper‘);//赋值 “`
– 9.prop() 基于原生JS的dom对象的特性操作,特性映射,非特性不能映射 “`js $(‘.demo‘).prop(‘class‘);//取值,对于自定义属性不能取值 $(‘.demo‘).prop(‘checked‘);//取值,对于自定义属性不能取值 $(‘.demo‘).prop(‘class‘, ‘wrapper‘);//赋值 “`
– 10.val() 取值和赋值操作,赋和取表单元素相关的值 “`js $(‘input‘).val();//取值 $(‘input‘).val(‘123‘);//赋值 $(‘input[type=”checkbox”]‘).val(function(index, oldValue){ return oldValue + index; }); “`
## 增删改查操作
### 查找 – 1.next() 获取下一个兄弟元素节点
– 2.prev() 获取上一个兄弟元素节点
– 3.prevAll() 获取同级的下面兄弟元素节点
– 4.nextAll() 获取同级的上面的兄弟元素节点
– 5.prevUntil() 获取同级的上面的兄弟元素,直到XXX为止
– 6.nextUntil() 获取同级的下面的兄弟元素,直到XXX为止 “`js $(h1).next().click(function(){ if($(this).prop(‘checked‘)){ $(this).nextUntil(‘h1‘, ‘input[type=”checkbox”]‘).prop(‘checked‘, true);//找到同级的下面的元素,直到h1元素为止,且只找到里面input[type=”checkbox”]的元素 }else{ $(this).nextUntil(‘h1‘, ‘input[type=”checkbox”]‘).prop(‘checked‘, false);// } }); “`
– 7.siblings() 获取到同级元素的所有兄弟元素节点 “`js $(‘.demo‘).siblings(‘span‘);//获取到同级的所有span元素 “`
– 8.parent() 获取到上一级元素节点
– 9.parents() 获取到所有祖先元素节点
– 10.offsetParent() 获取离自己最近的有定位的祖先元素
– 11.closest() 获得匹配选择器的第一个祖先元素,从自己(当前元素)开始沿 DOM 树向上。
– 12.slice() 截取元素 “`js $(‘.demo‘).slice(1, 2);//截取第一个到第二个元素(不包括第二个元素) “`
### 增加 改变元素 – 13.insertBefore() “`js $(‘.content‘).insertBefore(‘.box‘);//在.box之前插入.content “`
– 14.before() “`js $(‘.box‘).before( $(‘.content‘) );//在.box之前插入.content “`
– 15.insertAfter() “`js $(‘.content‘).insertAfter(‘.box‘);//在.box之后插入.content “`
– 16.after() “`js $(‘.box‘).after( $(‘.content‘) );//在.box之后插入.content “`
– 17.appendTo() “`js $(‘.demo‘).appendTo(‘.container‘);//把.demo添加到.container元素里面成为最后一个子元素,剪切操作 “`
– 18.append() “`js $(‘.container‘).append( $(‘.demo‘) );//把.demo添加到.container里面成为最后一个子元素,剪切操作 “`
– 19.prependTo() “`js $(‘.demo‘).prependTo(‘.container‘);//把.demo添加到.container元素里面成为第一个子元素,剪切操作 “`
– 20.prepend() “`js $(‘.container‘).prependTo( $(‘.demo‘) );//把.demo添加到.container里面成为最后一个子元素,剪切操作 “`
### 删除元素
– 21.remove() “`js $(‘.demo‘).remove().appendTo(‘.container‘);//先删除.demo元素,后把.demo元素添加到.container元素里面成为最后一个子元素。这样删除的.demo元素,自身捆绑的事件(click, blur等)就会同时删除 “`
– 22.detach() “`js $(‘.demo‘).detach().appendTo(‘.container‘);//先删除.demo元素,后把.demo元素添加到.container元素里面成为最后一个子元素。这样删除的.demo元素,自身捆绑的事件(click, blur等)不会同时删除 “`
### 添加包裹元素
– 23.wrap() “`js $(‘.demo‘).wrap(‘<div class=”container”></div>‘);//为.demo元素包裹一层wrap()函数中的元素,对wrap()函数中的元素进行复制操作 $(‘demo‘).wrap(fuction(index){ return ‘<div>‘ + index + ‘</div>‘; });//为每一个.demo元素都包裹一层return的元素 “`
– 24.wrapInner() “`js $(‘.demo‘).wrapInner(‘<div class=”container”></div>‘);//把.demo里面的元素包裹一层wrap()函数中的元素 “`
– 25.wrapAll() “`js $(‘.demo‘).wrapAll(‘<div class=”container”></div>‘);//给所有的.demo加上一个统一的父元素.container,注意所有的.demo元素最好是同级元素 “`
– 25.unwrap() “`js $(‘.demo‘).unwrap();//把.demo的直接父级删掉 “`
### 特殊的 $() 创建jQuery对象 “`js $(‘<div></div>‘);//可以直接通过$()创建一个jQuery对象 “`
以上是markdown格式的笔记