jQuery(2)
jQuery操作DOM
一、内容操作
1、html()
设置或读取jQuery对象中的html内容
类似于原生JS中的innerHTML,可识别标签
2、text()
设置或读取jquery对象中的text文本内容
类似原生JS innerText
3、val()
设置或读取表单对象的value值(常见表单控件)
二、属性操作
1、attr()
读取或设置jQuery对象的属性
参数为字符串形式的属性名
et :
console.log($('div').attr('id'));
$('div').attr('class','d1');
2、removeAttr()
移除指定的属性,参数为属性名
et :
$('div').removeAttr('id');
三、样式操作
1. attr();
为元素添加id或class属性,对应选择器样式
2. addClass('className')
将className作为值添加到元素的class属性上,匹配选择器样式
(是可以连缀调用的,可以重复调用)
et: $('h1').addClass('c1').addClass('c2')...
3. removeClass('className');
移除指定的class属性值
参数可以省略,省略之后表示清空类选择器
4. toggleClass('className')
切换样式,元素如果具备className对应的样式,则移除;
如果没有,就添加动态切换元素样式
5. css()
获取或读取元素CSS属性(样式)
1、css('width')
读取元素的宽度
et: $('div').css('width');
2、css('','')
设置元素的样式
et: $('div').css('width','200px');
3、css(JSON对象)
作用:为元素设置一组CSS
参数:为一组CSS样式
JSON对象 :是一种约束了格式的对象表现形式
JSON :JavaScript Object Notation
JSON对象的表示方式:
1. JSON对象必须使用{}括起来
2. 使用键值对来声明数据(属性与值)
3. 所有的属性在声明时必须使用字符串形式"",
属性值如果也是字符串,也必须使用""
4. 属性与值之间使用:连接
5. 多对属性和值之间使用,隔开
et :
$('div').css({
"color":"red",
"width":"300px"
...
});
四、节点查询
1、children() / children('selector')
获取jquery对象的所有子元素,或者获取指定选择器匹配的所有子元素
注意 :只包含直接子元素,不考虑后代子元素
2、find('selector')
获取满足selector的所有后代元素
3、prev() / prev('selector')
获取jQuery对象的前一个兄弟元素,或者获取前一个兄弟元素,必须满足selector
4、next() / next('selector')
获取jQuery对象后一个兄弟元素,或者获取后一个兄弟元素,必须满足selector
5、siblings() / siblings('selector')
获取前后所有的兄弟元素,或者满足selector的所有兄弟元素
6、parent()
获取jQuery对象的父元素
五、节点操作
1、创建节点(对象)
$('标签')
var $h1 = $("<h1>一级标题</h1>");
var $h2 = $("<h1></h1>");
h2.html();
h2.attr();
h2.css();
参数为要创建的标签,使用HTML标签语法
et :
var $div = $("<div></div>");
$div.html('动态创建的div');
$div.attr('id','box');
$div.css('color','red');
et2 :
var $div2 = $("<div id='box' style='color:red;'> 动态创建的div</div>");
2、添加节点(插入元素)
1、以子元素的形式插入到页面中(内部插入)
1、$parent.append($new)
将新创建的元素作为最后一个子元素插入
2、$parent.prepend($new);
将新创建的对象作为第一个子元素添加
2、以兄弟元素的形式插入到页面中
$obj.after($new)
将新创建的对象作为$obj的下一个兄弟元素插入进来
$obj.before($new)
将新创建的对象作为$obj的前一个兄弟元素插入进来
3、删除节点(元素)
语法 :$obj.remove()
作用 :将$obj移除掉
六、jQuery 事件操作(处理)
1. 页面加载完成之后再执行
原生JS:
window.onload = function(){};
jquery语法 :
1. $(document).ready(function (){
//加载完成之后执行的操作
});
2. $().ready(function (){
//加载完成之后执行的操作
});
3. $(function (){});
//加载完成之后执行的操作
});
原生onload事件与jQuery的ready()方法区别 :
1、原生onload事件不能多次使用,后面的会把前面的覆盖掉,只执行最后书写的onload,需要做特殊处理和判断;
而jquery中的ready方法,也表示文档加载完毕,可以重复调用多次,不会被覆盖,所有的相关函数按顺序依次执行
2、原生的onload事件,会等待文档中DOM树及所有资源全部加载完毕之后才执行;而jquery中的ready方法,会等文档DOM树加载完毕后就执行
2、jquery事件绑定
1、使用bind()
$obj.bind('事件函数名',function(){//事件处理函数});
注意: 事件名称省略on前缀
et: $('div').bind("click",function(){});
2、使用事件函数
$obj.事件名称(function (){//事件处理});
注意:事件名称省略on前缀
et:$('div').click(function(){});
3、事件对象及属性
1、获取事件对象与原生方法一致
都是以参数形式自动传入
(在绑定事件时,允许传递参数表示事件对象)
$('div').click(function(evt){
console.log(evt);
});
2、事件对象的属性与原生的一致(使用方法一致)
event.target
event.offsetX
...
4、this对象
当前函数或方法的调用对象
posted on 2018-10-26 21:08 破天荒的谎言、谈敷衍 阅读(157) 评论(0) 收藏 举报
浙公网安备 33010602011771号