选择器
基本选择器
$(
"#id"),$(
".class"),$(
"element"),$(
"*"),$(
"#id,.class,span")
层次选择器
$(
"div span")
$(
"div >span")
$(
"div").next(
"div")
$(
"div").nextAll(
"div")
$(
"div").siblings(
"div")
过滤选择器
基本过滤选择器
$(
"div> span:first")
$(
"div>span:last")
$(
"div> span:not(.myClass)")
$(
"div> span:event")
$(
"div> span:odd")
$(
"div> span:eq(1)")
$(
"div> span:gt(1)")
$(
"div> span:lt(1)")
$(
"div> span:head")
$(
"div> span:animated")
内容过滤选择器
$(
"div:contains('我')")
$(
"div:has(p)")
$(
"div:empty")
$(
"div:parent")
可见性过滤选择器
$(
":hidde") /*选取所有不可见元素,如<input
type="hidden">,<div style=
"display:none">,<div style=
"visibility:hidden">*/
$(
":visible")
属性过滤选择器
$(
"div[title]")
$(
"div[title=test]")
$(
"div[title!=test]")
$(
"div[title^=test]")
$(
"div[title$=test]")
$(
"div[title*=test]")
$(
"div[title][title^=test][title$=test]")
子元素过滤选择器
$("div > span:nth-child(index/even/odd/equation)");
//选取每个div下的第index个子元素或奇偶元素是span的元素(索引从
1开始);
$("div >span:first-child");
//选取每个div下的第
1个子元素是span的元素(索引从
1开始);
$("div >span:last-child");
//选取每个div下的最后
1个子元素是span的元素(索引从
1开始);
$("div >span:only-child");
//如果某个元素是其父元素的唯一子元素,那么它将会被匹配,如果该元素的父元素含有多个子元素,则不会被匹配;
$("div:first-child");
//选取div元素,该div元素的特点为它是其父元素的第一个子元素;
表单对象属性过滤选择器
$(
"#form1 :enabled")
$(
"#form1 :disabled")
$(
"input :checked")
$(
"select:selected")
表单选择器
$(
":input")
$(
":password")
$(
":submit")
DOM的操作
Jquery中的this对象:该位置的DOM节点元素(不是Jquery对象)
查找节点
var
$para=
$("p");
//查找p元素节点
var p_txt=
$para.attr(
"title");
//查找p元素节点的
"title"属性
创建节点
var $li=$(
"<li title="香蕉
">苹果</li>");
插入节点
$(A).append(B)
$(A).appendTo(B)
$(A).prepend(B)
$(A).prependTo(B)
$(A).after(B)
$(A).insertAfter(B)
$(A).before(B)
$(A).insertBefore(B)
var A =
"<p>我想说</p>";
var B =
"<b>你好</b>";
var C=$(A).append(B);
var D=$(A).prepend(B);
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
var a=$("ul >li:eq(1)");
var b=$("ul >li:eq(2)");
a.before(b);
//结果
<ul>
<li>1</li>
<li>3</li>
<li>2</li>
</ul>
删除节点
var
$self =
$("ul >li:eq(1)").remove();
//删除包括自身及所有后代元素,并返回指向已被删除节点的引用;
$("ul >li:eq(1)").empty();
//删除所有子孙元素,不包括自身;
复制节点
$("ul >li:eq(1)").clone(
true).appendTo(
"ul");
//将节点复制到另一个节点中(深拷贝)。如果需要将节点的事件也一起复制,则需要加上参数
true
替换节点
$("
<p>123
</p>").replaceWidth("
<p>456
</p>");//将"
<p>123
</p>"替换成"
<p>456
</p>";
$("
<p>456
</p>").replaceAll("
<p>123
</p>");//结果与上面相同;
包裹节点
$("
<p>123
</p>").wrapInner("
<b></b>");//将每一个匹配元素的子内容包裹,"
<p><b>123
</b></p>";
$("
<p>123
</p><p>456
</p>").wrapInner("
<div></div>");//整体包裹,"
<div><p>123
</p><p>456
</p></div>";
$("
<p>123
</p><p>456
</p>").wrapInner("
<div></div>");//分个包裹,"
<div><p>123
</p></div><div><p>456
</p></div>";
属性操作
$("p").attr(
"title",
"123");
//获取或设置属性;
$("p").removeAttr(
"title");
//删除属性
样式操作
var a=
"<p class='initClass'></p>";
$(a).attr(
"class",
"myClass");
//获取或设置样式,
"<p class='myClass'></p>"
$(a).addClass(
"myClass");
//添加样式,
"<p class='initClass myClass'></p>"
$(a).removeClass(
"myClass");
//删除样式,
"<p></p>"
$(a).removeClass();
//删除全部样式,
"<p></p>"
$(a).toggleClass(
"myClass");
//切换样式,如果类名存在则删除它,如果不存在则添加他,
"<p class='initClass'></p>"
$(a).hasClass(
"myClass");
//判断是否含有该样式,返回
false
设置和获取HTML、文本和值
$("p").html()
$("p").
text()
$("p").val()
遍历节点
<p>
<ul>
<li>1
</li>
<li>2
</li>
<li>3
</li>
</ul>
</p>
children()
$("p").children();
//获取所有子元素集(不包括孙元素)集合
next(),nextAll()
$("p").
next();
//获取后面紧邻的同辈元素;
$("p").nextAll();
//获取后面所有的同辈元素;
prev(),prevAll()
$("p").prev();
//获取前面紧邻的同辈元素;
$("p").prevAll();
//获取前面所有的同辈元素;
siblings()
$("p").siblings();
//获取前后所有同辈元素;
closest()
$(document).click(
function(e){
$(e.target).closest(
'p').attr(
"title",
"456");
});
find()
$("p").find(
"span").css(
'color',
'red');
//遍历后代(子加孙)元素
filter()
$("p").
filter();
parent(),parents()
$("p").
parent();
$("p").parents();
事件
加载事件
$(document).ready(
function(){});
window.onload=
function(){};
绑定事件
bind(
type,
function(){});//
type:blur,focus,mousemove,mouseup等等
合成事件
hover(enter,leave);
toggle(fn1,fn2......fnN);
事件冒泡
e.stopPropagation();
e.preventDefault();
事件对象event
event.target
event.
type
event.which
移除事件
$(
"#btn").unbind(
"click",fn);
$(
"#btn").one(
'click',
function(){});
模拟操作
$("#btn").trigger(
"myClick");
//触发绑定的myClick事件,并且执行默认操作(如果有)
$("#btn").triggerHandle(
"myClick");
//只执行绑定的myClick事件
动画
show,hide,toggle
$('div').show(
1000);
$(selector).
toggle(speed,callback);
fadeIn,fadeOut,fadeTo,fadeToggle
$(selector).fadeOut(speed,callback);
$(selector).fadeTo(speed,opacity,callback);
$(selector).fadeToggle(speed,callback);
slideUp,slideDown,slideToggle
$(
'div').slideUp();
$(selector).slideToggle(speed,callback);
自定义动画animate
简单动画
animate(para,speed,callback)
累加累减动画
$(
"#panel").click(
function(){
$(
this).animate({left:
"+=500px"},
3000);
}
多重动画
$(
"#panel").click(
function(){
$(
this).animate({left:
"500px",height:
"500px"},
3000);
}
$(
"#panel").click(
function(){
$(
this).animate({left:
"500px"},
3000)
.animate({height:
"500px"},
3000);
}
综合动画
$(
"#panel").click(
function(){
$(
this).animate({left:
"500px",height:
"500px"},
3000);
}
$(
"#panel").click(
function(){
$(
this).animate({left:
"500px"},
3000)
.animate({height:
"500px"},
3000)
.fadeOut(
3000);
}
停止动画
$(selector).stop([clearQueue],[gotoEnd]);
$(selector).is(
":animated");
表单、表格
文本框
获取以及失去焦点
$(
':input').focus(
function(){})
.blur(
function(){})
.keyup(
function(){});
高度变化
$("#id").height(
$("#id").height()+
50);
//或者用动画效果
$("#id").animate({
height:"+=50"},
300);
滚动条高度变化
$("#id").scrollTop(
$("#id").scrollTop()+
50);
//或者用动画效果
$("#id").animate({
scrollTop:"+=50"},
300);
复选框
$(
"#checkAll").click(
function(){
$(
this).attr(
'checked',
true);
$(
this).attr(
'checked',
this.checked);
});
下拉框
$('#selected1 option');
//获取全部选项
$('#selected1 option:selected');
//获取选中的选项
表格筛选
$(
"table tbody tr")
.hide()
.filter(
":contains(""+$(this).val())")
.show()
其他方法:
$.each
var a={
"b":
"bbb",
"c":
"ccc"};
$.each(a,
function(e){
console.log(
this);
});
$.extend()
jQuery.extend(
object);
jQuery.fn.extend(
object);
1.对象深度拷贝 缺点:效率低
var a={name:
"gx"};
var b=$.extend({},a);
b.name=
"xm";
alert(a.name);
alert(b.name);
var c=a;
c.name=
"gm";
alert(a.name);
alert(c.name);
2.合并多个对象
var newObject = jQuery.extend({}, oldObject);
var newObject = jQuery.extend(
true, {}, oldObject);
var item={age:
23,address:{provice:”河南”,city:”郑州”}};
var item1={sex:”girl”,address:{city:”北京”}};
var result=$.extend(
true,item,item1);
var result1=$.extend(
false,item,item1);
3.给jQuery添加静态方法
$.extend({
add:
function(a,b){return a+b;} ,
minus:
function(a,b){return a-b;}
});
var i = $.add(
3,
2);
var j = $.minus(
3,
2);
$.fn.extend({
add:
function(a,b){return a+b;} ,
minus:
function(a,b){return a-b;}
});
var m=$(
"div").add(
3,
2);
var n=$(
"div").minus(
3,
2);