引入jQuery
生产环境如果想要使用jQuery,请点击下载
测试环境或者开发者环境只需在head标签内添加下面标签
<script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js">
文档就绪事件 (推荐方法二)
写法一:
$(document).ready(function(){
// 开始写 jQuery 代码...
});
写法二:
$(function(){
// 开始写 jQuery 代码...
});
选择器
事件中的选取当前元素
$(this)
元素选择器
选中所有p元素
$("p")
id选择器
选中所有id为test的元素
$("#test")
class选择器
选中所有class为test的元素
$(".test")
选取所有元素
$("*")
选中第一个p元素
$("p:first")
选取第一个 <ul> 元素的第一个 <li> 元素
$("ul li:first")
选取每个 <ul> 元素的第一个 <li> 元素
$("ul li:first-child")
选中带有herf属性的元素
$("[href]")
选取所有 target 属性值等于 "_blank" 的 <a> 元素
$("a[target='_blank']")
选取所有 target 属性值不等于 "_blank" 的 <a> 元素
$("a[target!='_blank']")
选取所有 type="button" 的 <input> 元素 和 <button> 元素
$(":button")
选取偶数位置的 <tr> 元素
$("tr:even")
选取奇数位置的 <tr> 元素
$("tr:odd")
事件 (事件阻止冒泡请return flase)
click 点击事件
$("p").click(function(){
$(this).hide();
});
dbclick 双击事件
$("p").dblclick(function(){
$(this).hide();
});
mouseenter 鼠标进入事件
$("#p1").mouseenter(function(){
alert('您的鼠标移到了 id="p1" 的元素上!');
});
mouseleave 鼠标离开事件
$("#p1").mouseleave(function(){
alert("再见,您的鼠标离开了该段落。");
});
mousedown 鼠标移动元素上方并且按下
$("#p1").mousedown(function(){
alert("鼠标在该段落上按下!");
});
mouseup 当鼠标按下之后 松开的时候触发
$("#p1").mouseup(function(){
alert("鼠标在段落上松开。");
});
hover 鼠标悬停的时候触发,有两个阶段鼠标进入和离开,分别对应各自的函数
$("#p1").hover(
function(){
alert("你进入了 p1!");
},
function(){
alert("拜拜! 现在你离开了 p1!");
}
);
focus 元素获得焦点时触发,一般都是input
$("input").focus(function(){
$(this).css("background-color","#cccccc"); # 背景变成灰色 操作css的时候,额外添加的属性需要css修改,本身固有的直接跟点(.)后面
});
blur 失焦的时候触发,一般都是光标离开input
$("input").blur(function(){
$(this).css("background-color","#ffffff"); # 背景变白色
});
jQuery 带有动画的效果
jQuery隐藏和现实
$("#hide").click(function(){
$("p").hide();
});
$("#show").click(function(){
$("p").show();
});
语法: speed隐藏/显示的速度可取值[fast,slow,毫秒] ,callback 事件执行完成后的回调函数
$(selector).hide(speed,callback);
$(selector).show(speed,callback);
如果不想设置两个按钮觉得太麻烦,就使用toggle(来回切换隐藏/显示) 自动检测当前是隐藏还是显示.
$("button").click(function(){
$("p").toggle();
});
jQuery淡入和淡出
语法: speed取值 [fast,slow,毫秒]
$(selector).fadeIn(speed,callback); # 淡入
$(selector).fadeOut(speed,callback); # 淡出
$(selector).fadeToggle(speed,callback); # 淡入/淡出 切换
$(selector).fadeTo(speed,opacity,callback); # 淡出到一定的透明度 opacity透明度 取值[0~1之间的小数],1不透明,0完全透明
示例:
$("button").click(function(){
$("#div1").fadeIn();
$("#div2").fadeIn("slow");
$("#div3").fadeIn(3000);
});
$("button").click(function(){
$("#div1").fadeToggle();
$("#div2").fadeToggle("slow");
$("#div3").fadeToggle(3000);
});
$("button").click(function(){
$("#div1").fadeTo("slow",0.15);
$("#div2").fadeTo("slow",0.4);
$("#div3").fadeTo("slow",0.7);
});
jQuery滑动
语法:
slideDown() 方法用于向下滑动元素。
$(selector).slideDown(speed,callback);
$("#test").click(function(){
$("p")[0].slideDown(1)
})
slideUp() 方法用于向上滑动元素。
$(selector).slideUp(speed,callback);
slideToggle() 方法可以在 slideDown() 与 slideUp() 方法之间进行切换
$(selector).slideToggle(speed,callback);
jQuery动画
jQuery animate() 方法用于创建自定义动画。
$(selector).animate({params},speed,callback);
一般是html 元素 原本有一个css,写入一个最终结果的css样式到{params}里面,然后动画就是从原有css过度到最终css
下面的例子是将div绝对定位从左边的0移动到距左边250像素
<head>
<script>
$(document).ready(function(){
$("button").click(function(){
$("div").animate({left:'250px'});
});
});
</script>
</head>
<body>
<button>开始动画</button>
<p>默认情况下,所有的 HTML 元素有一个静态的位置,且是不可移动的。
如果需要改变为,我们需要将元素的 position 属性设置为 relative, fixed, 或 absolute!</p>
<div style="background:#98bf21;height:100px;width:100px;position:absolute;">
</div>
</body>
同时操作多个属性
<script src="https://cdn.bootcss.com/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("div").animate({
left:'250px',
opacity:'0.5',
height:'150px',
width:'150px'
});
});
});
</script>
</head>
<body>
<button>开始动画</button>
<p>默认情况下,所有的 HTML 元素有一个静态的位置,且是不可移动的。
如果需要改变,我们需要将元素的 position 属性设置为 relative, fixed, 或 absolute!</p>
<div style="background:#98bf21;height:100px;width:100px;position:absolute;">
</div>
</body>
jQuery停止动画
$(selector).stop(stopAll,goToEnd);
可选的 stopAll 参数规定是否应该清除动画队列。默认是 false,即仅停止活动的动画,允许任何排入队列的动画向后执行。
可选的 goToEnd 参数规定是否立即完成当前动画。默认是 false。
默认地,stop() 会清除在被选元素上指定的当前动画。
jQuery可以链式调用
$("#p1").css("color","red").slideUp(2000).slideDown(2000);
jQuery DOM操作
获取内容 text()、html() 以及 val()
text() - 设置或返回所选元素的文本内容
html() - 设置或返回所选元素的内容(包括 HTML 标记)
val() - 设置或返回表单字段的值, 一般是读取input的value值
$("#btn1").click(function(){
alert("Text: " + $("#test").text());
});
$("#btn2").click(function(){
alert("HTML: " + $("#test").html());
});
$("#btn1").click(function(){
alert("值为: " + $("form input:first").val());
});
获取属性attr()
$("button").click(function(){
alert($("#runoob").attr("href"));
});
设置内容 - text()、html() 以及 val() 以及属性 attr
$("#btn1").click(function(){
$("#test1").text("Hello world!");
});
$("#btn2").click(function(){
$("#test2").html("<b>Hello world!</b>");
});
$("#btn3").click(function(){
$("#test3").val("RUNOOB");
});
$("button").click(function(){
$("#runoob").attr({
"href" : "http://www.runoob.com/jquery",
"title" : "jQuery 教程"
});
});
jQuery创建元素以及添加元素
创建元素
var txt1="<p>文本。</p>"; // 使用 HTML 标签创建文本
var txt2=$("<p></p>").text("文本。"); // 使用 jQuery 创建文本
var txt3=document.createElement("p");
txt3.innerHTML="文本。";
添加元素(子集添加,前后添加)
子集添加append prepend
append() 方法在被选元素的结尾插入内容(仍然该元素的内部)
$("body").append(txt1,txt2,txt3);
prepend() 方法在被选元素的开头插入内容。
$("body").prepend(txt1,txt2,txt3);
前后添加 before after
jQuery before() 方法在被选元素之前插入内容
$("img").before("<b>之前</b>");
jQuery after() 方法在被选元素之后插入内容
$("img").after("<i>之后</i>");
删除元素(删除元素的子元素,删除元素以及子元素)
jQuery remove() 方法删除被选元素及其子元素。
$("#div1").remove(); #删除div1标签以及子标签
jQuery empty() 方法删除被选元素的子元素。
$("#div1").empty(); # 保留div1标签内的子元素之外的内容
jQuery操作css
addClass() - 向被选元素添加一个或多个类
removeClass() - 从被选元素删除一个或多个类
toggleClass() - 对被选元素进行添加/删除类的切换操作
css() - 设置或返回样式属性
$("button").click(function(){
$("h1,h2,p").addClass("blue"); # 添加类
$("div").addClass("important");
});
$("button").click(function(){
$("body div:first").addClass("important blue"); # 添加多个类
});
$("button").click(function(){
$("h1,h2,p").removeClass("blue"); # 移除类
});
$("button").click(function(){
$("h1,h2,p").toggleClass("blue"); # 切换类
});
#css("propertyname");获取css语法
$("p").css("background-color"); # 获取指定css样式的值
#css("propertyname","value"); # 设置css语法
$("p").css("background-color","yellow");
# css({"propertyname":"value","propertyname":"value",...}); 设置多个css语法
$("p").css({"background-color":"yellow","font-size":"200%"});
ajax 请查看另外一篇文章
文章地址请点击 ajax