Jquery选择器
$(document).ready(function(){})
$(function(){})
如果获取的对象是jQuery对象,那么在变量前面加上$,例如:var $variable=jQuery对象
选择器
1, 判断页面是否存在某元素:if($("#tt").length>0){} 或者if($("#tt")[0]){};
2, 基本选择器
|---------------------------------------------| | $("#test") 选择id为test的元素 | | $(".test")选择class为test的所有元素 | | $("p")选择所有的<p>标签 | | $("*")选择页面上的所有元素 | | $("span ,#two")选择页面上所有的<span>标签和id为two的元素 |
3, 层次选择器
|----------------------------------------------| | $("div span")表示选取div中的所有的span元素 | | $("parent>children")选取parent下所有children的子元素 | | $('.one+span')选取class为one的下一个span元素 | | $('.one~div')选取class为one的后面的所有的div兄弟元素 |
$('.one+span')等价于$(".one").next("span")
$('one~div')等价于$(".one").nextAll("div")
$(".one").siblings("div") 选取class为one的所有的兄弟元素div,无论前后
4, 过滤选择器
(1)基本的过滤器
|--------------------------------------------------| | $("div:first")选取所有div元素中第一个div元素 | | $("div:last")选取所有div元素最后一个div元素 | | $("input:not(.myClass)")选取class不是myClass的input元素 | | $("input:even")选取索引是偶数的input元素 | | $("input:odd")选取索引时奇数的input元素 | | $("input:eq(1)")选取索引等于1的input元素 | | $("input:gt(1)")选取索引大于1的input元素(大于1不包括1) | | $("input:lt(1)")选取索引小于1的input元素 (小于1不包括1) | | $(":header")选取网页中所有的h1、h2...... | | $("div:animated")选取正在执行动画的div元素 |
(2)内容过滤器
|---------------------------------------| | $("div:contains('我')")选取含有文字"我"的div元素 | | $("div:empty")选取不包含子元素(包含文本元素)的div空元素 | | $("div:has(p)")选取含有p元素的div元素 | | $("div:parent")选取拥有子元素(包含文本元素)的div元素 |
(3)可见性过滤选择器
|---------------------------------------------------------------------------------------------------------------------------------------------------------------| | $(":hidden")选取所有不可见的元素。包括<input type="hidden"/>,<div style="display:none;">和<div style="visibility:hidden;">等元素。如果只想选取<input>元素,可以使用$("input:hidden") | | $("div:visible")选取所有可见的<div>元素 |
(4)属性过滤选择器
|------------------------------------------------------------------| | $("div[id]")选取拥有属性id的元素 | | $("div[title=test]")选取属性title为test的div元素 | | $("div[title!=test]")选取属性title不是test的div元素(没有属性title的div也会被选取) | | $("div[title^=test]")选取属性title以test开始的div元素 | | $("div[title$=test]")选取属性title以test结束的div元素 | | $("div[title*=test]")选取属性title包含test的div元素 | | $("div[id][title$='test']")选取拥有属性id,并且属性title以test结束的div元素 |
(5)子元素过滤选择器
|----------------------------------------------------------------------------------------------| | :eq(index)只匹配一个元素,而:nth-child将为每一个父元素匹配子元素,并且:nth-child(index)的index是从1开始的,而:eq(index)是从0算起的 | | :first只返回单个元素,而:first-child选择符将为每个父元素匹配第一个子元素。 例如$("ul li:first-child")选取每个ul中第一个li元素 | | :last只返回单个元素,而:last-child选择符将为每个父元素匹配最后一个子元素 | | $("ul li:only-child")在ul中选取是唯一子元素的li元素 |
:nth-child()选择器是很常用的子元素过滤选择器,详细功能如下:
1.:nth-child(even)能选取每个父元素下的索引值是偶数的元素
- :nth-child(odd)能选取每个父元素下的索引值的奇数的元素
3.:nth-child(2)能选取每个父元素下索引值等于2的元素
4.nth-child(3n)能选取每个父元素下的索引值是3的倍数的元素(n从0开始)
5.nth-child(3n+1)能选取每个父元素下的索引值是(3n+1)的元素(n从0开始)
(6)表单对象属性过滤选择器
|-----------------------------------------------| | $("#form1 :enabled")选取id为form1的表单内的所有可用元素 | | $("#form2 :disabled")选取id为"form2"的表单内的所有不可用元素 | | $("input:checked")选取所有被选中的input元素 | | $("select :selected".text())选取所有被选中的选项元素 |
5 .表单选择器
|-----------------------------------------------| | $(":input")选取所有input、textarea、select和button元素 | | $(":text")选取所有的单行文本框 | | $(":password")选取所有的密码框 | | $(":radio")选取所有的单选框 | | $(":checkbox")选取所有的复选框 | | $(":submit")选取所有的提交按钮 | | $(":image")选取所有的图像按钮 | | $(":reset")选取所有的重置按钮 | | $(":button")选取所有的按钮 | | $(":file")选取所有的上传域 | | $(":hidden")选取所有不可见元素 |
Dom 操作
Dom core(核心)、HTML-DOM和CSS-DOM
1. 插入节点的方法
|----------------|---------------------------------------------------------------------| | append() | $("p").append("<b>你</b>") <p>test <b>你</b></p> | | appendTo() | $("<b>你</b>").appendTo("p") <p>test <b>你</b></p> | | prepend() | $("p"). prepend ( "<b>你</b>") <p><b>你</b>test </p> | | prependTo() | $("p"). prependTo ( "<b>你</b>") <p><b>你</b>test </p> | | After() | $("p"). after ( "<b>你</b>") <p>test </p><b>你</b> | | insertAfter() | $( "<b>你</b>"). insertAfter ("p") <p>test </p><b>你</b> | | Before() | $("p"). before ( "<b>你</b>") <b>你</b><p>test </p> | | insertBefore() | $( "<b>你</b>"). insertBefore ("p") <b>你</b><p>test </p> |
2. 删除节点
Remove()方法 empty()清空节点
3. 复制节点
Clone() $(this).clone(true).appendTo("body")
复制元素的同时复制元素中所绑定的事件
4. 替换节点
replaceWith():$("p").replaceWith("<a>test</a>");
replaceAll():$("<a>test</a>"). replaceAll ("p");
5. 包裹节点
|-------------|-----------------------------------------------------------------------------------------------------| | Wrap() | $("strong").wrap("<b></b>");<b><strong>ssss</strong></b> | | wrapAll() | $("strong"). wrapAll ("<b></b>");<b><strong>ssss</strong> <strong>ssss</strong></b> | | wrapInner() | $("strong").wrapInner (<b></b>");<strong><b>ssss</b></strong> |
6. 属性操作
Attr(); 设置多个$("p").attr({"title":"dd","name":"myp"})
removeAttr()移除属性
7. 样式操作
|---------|--------------------------------------------| | 获取和设置样式 | Attr() | | 追加样式 | addClass() | | 移除样式 | removeClass() removeClass("one two") | | 切换样式 | toggle()主要控制行为上的重复切换 toggleClass()样式上的重复切换 |
|------------|-------------------------| | 判断是否含有某个样式 | hasClass()等价于is(".one") |
8. 设置和获取html 、文本和值
|--------|--------------------------| | html() | 读取或者设置某个元素中的HTML内容 | | text() | 读取或者设置某个元素中文本内容 | | val() | 设置和获取元素的值defaultValue初始值 |
9. 遍历节点
|------------|-----------------------------| | Children() | 取得匹配元素的子元素的集合,只考虑子元素不考虑后代元素 | | Next() | 取得匹配元素后面紧邻的同辈元素 | | Prev() | 取得匹配元素前面紧邻的同辈元素 | | Siblings() | 取得匹配元素前后所有的同辈元素 | | Closest() | 取得最近的匹配元素 | | 还有很多遍历方法:find(),filter(),nextAll(),prevAll(),parent(),parents()等 ||
CSS-DOM 操作
|--------------|-----------------------------------------------------------------------------------------| | 获取样式 | $(".one").css("color") | | 设置样式 | $(".one").css("color","red") $(".one").css({"opacity":"0.5","background-color":"blue"}) | | Height() | $(".one").height(),设置:$(".one").height("20px") | | Width() | $(".one").width(),设置:$(".one").width("200px") | | Offset() | 获取元素在当前视窗的相对偏移,包括top和left | | Position() | 获取元素相对于最近的一个position样式属性设置为relative或者absolute的祖父节点的相对偏移,它返回的对象也包括两个属性,即top和left | | ScrollTop() | 获取和设置元素的滚动条距顶端的距离 | | ScrollLeft() | 获取和设置元素的滚动条距左侧的距离 |
事件和动画
事件
(1) 绑定事件
bind(type[,data],fn);
参数:type:事件类型,也可以自定义名称
data:作为event.data属性值传递给事件对象的额外数据对象
fn:用来绑定的处理函数
绑定多个事件类型
Ex:$("div").bind("mouseover mouseout",function(){
$(this).toggleClass("over");
})
(2) 合成事件
Hover(enter,leave);
用于模拟光标悬停事件。当光标移动到元素上时,会触发指定的第一个函数(enter);当光标移除这个元素时,会触发指定的第二个函数(leave)
toggle(fn1,fn2,....fnN);
用户模拟鼠标连续单击事件。第一次单击元素,触发指定的第一个函数;当在次单击同一个元素时,则触发指定的第二个函数(fn2);如果有更多的函数,则依次触发,知道最后一个。
(3) 冒泡事件
假设网页上有2个元素,其中一个元素嵌套在另一个元素里,并且都被绑定了click事件,同时body元素也绑定了click事件,当点击最里面元素的事件时,同时其它事件也会触发。从内向外
停止事件冒泡的方法:stopPropagation()
Ex:$('span').bind("click",function(event){
Var txt=$().html()+"<p>内层span元素被单击</p>";
$('#msg').html(txt);
Event.stopPropagation(); 停止事件冒泡
})
停止表单默认提交:event.preventDefault()==return false;
(4) 移除事件
Unbind([type][,data]);
Type:事件类型
Data:将要移除的函数
(5) 触发一次函数
One(type,[data],fn);
事件触发后立即解除
动画
|-------------|------------------------------------| | Show() | Slow:600毫秒、normal:400毫秒、fast:200毫秒 | | Hide() | Slow:600毫秒、normal:400毫秒、fast:200毫秒 | | Fadeln() | 在指定的一段时间内降低元素的不透明度,直到元素完全消失 | | fadeout() | 和上相反 | | slideUp() | 与下相反 | | slideDown() | 元素将由上之下延伸显示 |
自定义动画animate
语法结构:animate(params,speed,callback);
参数说明如下:
1. Params:一个包含样式属性及值的映射,比如{property1:"value1",property2:"value2",....}
2. Speed:速度参数,可选。
Callback:在动画完成时执行的函数,可选
就暂时先添加这点吧,以后再慢慢完善吧!