回顾:
js:
组成部分:
ECMAScript 基本语法
BOM 5个浏览器对象
DOM 一大堆对象,标签
1.ECMAScript
变量声明 var 变量名=初始化值;
数据类型:
原始类型
Undefined Null
String Number Boolean:伪对象
通过typeof运算符可以判断出属于那种原始类型
typeof 值|变量
引用类型
Boolean Number
String
常用属性:length
常用方法:
substring
split
replace
var ss=s2.replace(/[\,\*\%\#\.\&\^]+/g," ");//加了g才是全局替换
alert(ss);//1 2 3 4 5 6 7 8 9 10
Array
常用属性:length
注意:
array长度可以变化
array可以存放任意值
Math
Date
RegExp 常用方法:test()
直接量语法:
/正则表达式/
var s2="1,2,3,4,5,6*7%.8##9%^&10";
var a2=s2.split(/[\,\*\%\#\.\&\^]+/);//都要转义 开头结尾//即可
alert(a2.join(" "))//1 2 3 4 5 6 7 8 9 10
全局
decodeURI 解码
eval 计算字符串,解析成js代码执行
运算符:
关系运算符
等性运算符 == ===
语句:
选择 循环
BOM(浏览器对象模型)
window:窗口
常用属性:
获取其他的四个对象
window.location....
常用方法:
消息框
alert confirm prompt
定时器
setInterval 周期
setTimeout 延迟
打开关闭
open close
location:定位
location.href:设置或者获取url
history:历史
go()
///
事件和函数
掌握的事件:
焦点:
onfocus
onblur
表单事件
onsubmit
onchange 改变
页面或者元素加载
onload
最常用的方式:
window.οnlοad=function(){};
单击
onclick
函数:
方式1:
function 函数名(参数列表){
函数体
}
方式2:
匿名函数
例如:window.οnlοad=function(){};
事件绑定函数:
方式1:通过元素的事件属性
<xxx onxxx="函数名(参数)"> 若参数为this:是将当前的dom对象传递给了函数
方式2:派发事件
dom对象.onxxx=function(){};
///
DOM(文档对象模型)
就是我们的html代码加载到内存中会形成一棵document树
节点:
文档节点 document
元素节点 element
属性节点 attribute
文本节点 text
获取一个元素节点:通过document获取
四个
操作元素的属性
dom对象.属性
操作元素的标签体
dom对象.innerHTML
以前通过js获取对象的时候
var obj=document.getElementById("id");
funtion getId(id){
return document.getElementById("id");
}
$("选择器")===>获取元素
//
js类库:
对常用的方法和对象进行封装,方便我们使用.
jQuery:
案例1-弹出广告
技术:
定时器
jQuery
///
jquery和html的整合
jquery是单独的js文件
通过script标签的src属性导入即可
获取一个jquery对象
$("选择器") 或者 jQuery("选择器")
dom对象和jquery对象之间的转换
dom对象===>jquery对象
$(dom对象)
jquery对象===>dom对象
方式1:
jquery对象[index]
方式2:
jquery对象.get(index)
页面加载:
js:
window.οnlοad=function(){}//在一个页面中只能使用一次
jquery 在一个页面中可以使用多次
方式1:
$(function(){...})
方式2:
$(document).ready(function(){});
派发事件:
$("选择器").click(function(){...});
等价于 原生js中
dom对象.οnclick=function(){....}
掌握事件://on都去掉
focus
blur
submit
change
click
jquery中效果:
隐藏或展示
show(毫秒数) hide(毫秒数)
滑入或滑出
slideDown(毫秒数):向下滑入
slideUp(毫秒数):向上滑出
淡入或淡出
fadeIn(int):淡入
fadeOut(int):淡出
/
案例1-步骤分析
1.页面加载成功之后$(function(){...}) 开始一个定时器 setTimeout();
2.编写展示广告方法
获取div,然后调用效果方法
设置另一个定时器 隐藏
3.编写隐藏广告的方法
获取div,然后调用效果方法
选择器总结:
基本选择器★
$("#id值") $(".class值") $("标签名")
了解:$("*") 匹配所有选择器
理解:获取多个选择器 用逗号隔开
$("#id值,.class值")
层次选择器 ★
a b:a的所有b后代
a>b:a的所有b孩子(只有孩子没有孙子 即:只有子元素 没有子元素的子元素)
a+b:a的下一个兄弟(大弟弟)
a~b:a的所有弟弟
基本过滤选择器:★
:frist 第一个
:last 最后一个
:odd 索引奇数
:even 索引偶数
:eq(index) 指定索引
:gt(index) >
:lt(index) <
内容过滤:
:has("选择器"):包含指定选择器的元素 (父元素)
可见过滤:
:hidden 在页面不展示元素 一般指 input type="hidden" 和 样式中display:none
:visible
属性过滤器:★
[属性名] //有此属性
[属性名="值"] //有此属性且值指定
表单过滤:
:input 所有的表单子标签 input select textarea button
input 仅input标签
:text 筛选所有文本框
:password 筛选所有密码框等等
案例2-隔行换色
技术分析:
1.页面加载成功
2.获取所有的奇数行 添加一个css
3.获取所有的偶数行 添加一个css
属性和css操作总结:
对属性的操作:
attr():设置或者获取元素的属性
方式1:获取
attr("属性名称")
方式2:设置一个属性 (添加一个属性)
attr("属性名称","值");
方式3:设置多个属性 json
attr({
"属性1":"值1",
"属性2":"值2"
})
removeAttr("属性名称"):移除指定属性
//添加class属性的时候
// attr("class","值"); 有种更方便的操作class属性的方法 即是对class的进一步包装
addClass("指定的样式值"); 相当于 attr("class","指定的样式值");
removeClass("指定的样式值");
对css操作:操作元素的style属性
css():获取或者设置css样式
方式1:获取
css("属性名")
方式2:设置一个属性
css("属性名","值")
方式3:设置多个
css({
"属性1":"值1",
"属性2":"值2"
});
获取元素的尺寸:
width()
height()
/
案例3-全选或者全不选
需求:
就是将内容中复选框的选中状态和最上面的复选框状态保持一致
步骤分析:
1.确定事件 复选框的单击事件
2.函数中
a.获取该复选框的选中状态 attr(获取不了checked属性 这是bug)|prop
b.获取所有的复选框修改他们的状态
注意:
若jquery版本>1.6 统一使用 prop操作元素的属性
/
/
/
/
案例4-省市联动
步骤分析:
1.确定事件 省份的下拉选变化的时候 change
2.编写函数
a.获取当前省份的value值
b.通过数组获取该省下的所有市 返回值:数组
c.遍历数组,拼装成option元素 追加到市下拉选即可
注意:每次改变的时候初始化市的值.
///
技术:
遍历数组
数组.each(function(){});
$.each(遍历数组,function(){});
注意:
each的function中可以加两个参数 index和dom
index是当前遍历的索引值
dom指代的是当前遍历的dom对象(开发中一般使用this即可)
//
设置或者获取value属性
jquery对象.val():获取
jquery对象.val("...."):设置
/
设置获取获取标签体的内容
html()
text()
xxxxx():获取标签体的内容
xxxxx("....."):设置标签体的内容
设置的区别:
html:会把字符串解析
text:只做为普通的字符串
获取的区别:
html:获取的html源码
text:获取只是页面展示的内容
//
创建一个元素: $("<标签></标签>")
///
文档操作:
内部插入
a.append(c):将c插入到a的内部(标签体)后面
a.prepend(c):将c插入到a的内部的前面
appendTo //a.appendTo(c) 将a插入到c的内部后面 顺序反了
prependTo
外部插入
a.after(c):将c放到a的后面
a.before(c):将c放到a的前面
a.insertAfter(c):将a插入到c的后面
a.insertBefore(c)
删除
empty() 清空元素
remove() 删除元素 //移除a a.remove();
/
/
/
案例5-左右移动
步骤分析:
1.确定事件 单击事件
2.编写函数:
移动一个:
右边的下拉选追加一个 左边的选中的第一个
移动多个:
左边选中的 追加到右边的下拉选中
移动全部:
将左边的所有option追加到右边的下拉选中
技术分析:
表单对象属性过滤选择器
:enabled 可用的
:disabled 不可用
:checked 选中的(针对于单选框和复选框的)
:selected 选中的(针对于下拉选) //alert($(":selected").size());就行了