一、选择器:没有特别指定就选择这一类(首选$(this))
1、基础选择器:以前css怎么选,$("")现在就怎么选:
>>$("li").css("color");
>>$(".li04").css("color");
>>$("#oli").css("color");
>>$(".box li").css("color");
2、其他选择器(都是在同一级)
>>$(".box li").not(".li04"):选择到.box下所有的li,但除了.li04这种标签;
>>$(".box li").eq(2),选择.box下第三个li元素;
>>$(".li04").prev(),选择.li04前面紧挨着的一个;
>>$(".li04").prevAll(),选择.li04前面所有的元素;
>>$(".li04").next(),选择后面紧挨着的一个元素;
>>$(".li04").nextAll(),选择后面所有的元素;
>>$("div").has("p"),选择子类中有p标签的div标签;
>>$("div").find("p"),在div中查找p标签
3、关系选择器(可以指定是哪一种)
>>$(".box").siblings();选择.box所有兄弟,可以指定兄弟的种类
>>$(".box").parent();选择.box的父类
>>$(".box").children();选择.box标签的所有子类
二、jq的链式编程
1、概念:如果一直对同一个元素进行操作,那么可以使用.语法一直写下去
2、例如:
$(this).css("background", "pink");
$(this).siblings().css("background", "");
可以写成:
$(this).css("background", "pink").siblings().css("background", "");
三、获取元素的下标:index()
1、用法:我们可以通过$(标签).index() 来获取这个标签在兄弟排行中的下标.
2、判断是否为第一个: $(标签).index() == 0
3、判断是否为最后一个:$(标签).next().length == 0
四、添加类和删除类(给标签添加样式)
1、添加:$("标签").addClass("类名");
2、删除:$("标签").removeClass("类名");
3、切换:$("标签").toggleClass("类名");
五、jquery的特殊动画事件
1、对角线动画:
>>显示:$("div").show(400);
>>隐藏:$("div").hide(400);
>>切换:$("div").toggle(400);
2、滑动动画:
>>向下显示:$("div").slideDow(400);
>>向上收起:$("div").slideUp(400);
>>切换:$("div").slideToggle(400);
3、透明度动画:
>>淡入:$("div").fadeIn(400);
>>淡出:$("div").fadeOut(400);
>>切换:$("div").fadeToggle(400);
>>透明到:$("div").fadeTo(400, .3);
六、jquery控制css样式(通过.css)和html(通过.prop)比较(一启动就接收它的值,那就是取默认值)
a>控制标签的属性: b>控制css样式:
1、获取(一个属性名) 1、获取(一个样式名)
$("input").prop("type"); $("标签").css("样式");
2、修改一个(一个属性名和属性值,以元组封装) 2、修改一个(一个样式名和值,字典封装)
$("input").prop("type","text"); $("标签").css("width","100px")
3、修改多个(多个属性名和属性值,以字典封装) 3、修改多个(多个样式名和值,字典封装)
$("div").prop({"class":"box","id":"obox"}) $("标签").css({})
c>获取标签中的内容
1、全覆盖标签里面的内容:
$("div").html("<p>段落标签</p>");
2、获取标签中的内容
var str1 = $("div").html();
d>渐变css样式(不管修改多少个都是用字典,只能修改数字类型)
$("div").animate({
"width": "1000px",
"height": "300px",
"font-size": "30px"
}, 2000, "linear",function(){
alert("动画结束了");
})
七、 常用的jquery事件
.click(function(){ }) 鼠标点击事件
.focus() 表单的聚焦事件
.blur() 表单的失焦事件
.mouseenter() 鼠标移入事件
.mouseleave() 鼠标移出事件
.hover(function(){},function(){}) 第一个函数为移入,第二个为移出
八、表单提交事件
$("my_frame").submit(function(){
event.preventDefault(); //阻止默认提交
})
九、正则表达式在js中的使用(用于表单验证)
var reUserName = /规则/参数;
ret = reUserName.test(要匹配的字符串);
ret为true则匹配成功,ret为false则匹配失败;
十、表单元素验证
1、判空
2、验证是否满足规则
十一、事件冒泡
1、概念:子集和父级有同类事件,子集触发父级也会被触发;
2、解决方法:在子集中添加event.stopPropagation():加在哪个位置都可以,不会影响函数的执行或return false:后面的语句不会执行.
十二、事件委托
1、概念:可以提高性能,可为后面添加的节点加入这个事件;
2、格式:$("被委托父级元素").delegate("委托的子级元素","事件",匿名函数).
十三、DOM操作(操作节点)
var $li = $('<li>新的里节点</li>')
var $p = $('<p>新的外节点</p>')
1、往父类中添加子节点:往最后面添加: $("ul").append($li)
往最前面添加: $("ul").prepend($li)
2、在指定位置(p元素不存在为添加,p元素存在为剪切):往后面添加:$p.insertAfter("ul")
往前面添加:$p.insertBefore("ul")
十四、javascript对象
格式: var dog = {
name: "哮天犬",
age: 12,
say: function(){
alert("my name is " + this.name);
}
}
1、键值对的形式,每个元素用逗号隔开;
2、键不能有双引号,值可为任何类型;
十五、json
格式:
{
"name": "小白",
"age": 18,
"arr":[10, 20, 30, 40]
}
1、键值对的形式,元素之间逗号隔开;
2、键一定要有双引号,值不能为函数;
3、json也可以是一个单纯的数组。
十六、ajax
1、作用:用来页面局部刷新,即页面无刷新加载数据(向服务器发送请求获取数据填入html、向服务器提交数据,服务器处理后返回数据填入html)
2、格式:
$.ajax({
url:"请求的路径",
type:"GET",
data: //要提交到服务器的数据
contentType: //提交的数据的类型
dataType: "json", //服务器返回给我们的数据格式
success:function(data){
//数据返回成功时执行的代码
},
error:function(){
//数据返回失败时执行的代码
}
})
3、大括号里面就是javascript对象.