首先:了解一下Jquery和JS的区别,以便于我们更清晰的学习Jquery.
一、本质区别:
1.js都知道是网页脚本语言,类似java是一种开发常用语言;
2.jQuery是基于js语言封装出来的一个前端框架;
所以最本质的区别就是js是一种语言,而jQuery是基于该语言的一种框架。除却最本质的区别还有一些用法上的差别。
二、用法区别:
1.外观上jQuery对象比js对象多了"$()"一层马甲,这是最直观的区别;
2.操作内容
①.非表单元素(如果是文本就用text方法,如果是html代码就用html方法)
例:div.text();——无参数的情况下是取值
div.text(“aaaa”);——有参数的情况下是赋值
div.html();——无参数的情况下是取值
div.html(“aaaa”);——有参数的情况下是赋值
②.表单元素
JS:div.value;——取值;div.value = xxx;——赋值
JUQERY:div.val();——无参数是取值,有参数是赋值。
3.操作属性
JS里面用来操作属性的方法是
div.setAttribute("","");——设置属性、修改属性
div.removeAttribute("");——移除属性,引号里面写一个属性名
div.getAttribute();——获取属性
JQUERY里面用来操作属性的方法
添加属性:div.attr(“test”,“aa”);——给这个attr方法加入参数,属性名叫做test,属性的值是aa
移除属性:div.removeAttr(“test”);——移除test这条属性
获取属性:div.attr(“test”);——在attr方法里面直接写入一个属性的名就可以了
4.操作样式
JS里面操作样式的关键字是style
例:div.style.backgroundColor = “red”;——把这个div的背景色设置成为了红色
JQUERY里面操作样式的关键字是css
例:div.css(“background-color”,“yellow”);——把这个div的背景色变为黄色,在这里CSS里面所有的样式和css样式表里面的样式是一模一样的没有任何变化
JS操作样式的方法只能获取内联样式,不能取内嵌的和外部的!!!!!
下面,我们对JQ的具体方法并且举例子加深我们的理解。
//这个代码是单出网页提示的小窗口的
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<!--导包,引入JQ的文件-->
<script type="text/javascript" src="../../js/jquery-1.11.0.js" ></script>
<script>
//js文档加载完成的事件
window.onload = function(){
alert("window.onload 111");
}
//会覆盖上面的“111”
window.onload = function(){
alert("window.onload 222");
}
/*文档加载完成的事件*/
jQuery(document).ready(function(){
alert("jQuery(document).ready(function()");
});
/*
jQuery 简写成 $
*/
$(document).ready(function(){
alert("$(document).ready(function()");
});
/*
最简单的写法
*/
$(function(){
alert("$(function(){");
});
</script>
</head>
<body>
</body>
</html>
下面是JS和JQ对象之间的转换:
//两个按钮,一个用了来作JS修改的,一个用来测试JQ修改,体现JS转JQ对象的骚操作,无非就是
//**var $div = $("#div1");**
//**var jsDiv = $div[0];**
//jsDiv.innerHTML="jq转成JS对象成功";
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../../js/jquery-1.11.0.js" ></script>
<script>
function changeJS(){
var div = document.getElementById("div1");
// div.innerHTML = "JS成功修改了内容"
//将JS对象转成JQ对象
$(div).html("转成JQ对象来修改内容")
}
//function是文档加载
$(function(){
//给按钮绑定事件
$("#btn2").click(function(){
//找到div1
// $("#div1").html("JQ方式成功修改了内容");
//将JQ对象转成JS对象来调用
**var $div = $("#div1");**
// var jsDiv = $div.get(0);
**var jsDiv = $div[0];**
jsDiv.innerHTML="jq转成JS对象成功";
});
});
</script>
</head>
<body>
<input type="button" value="JS修改div内容" onclick="changeJS()" />
<input type="button" value="JQ方式修改div内容" **id="btn2**" />
<div id**="div1"**>
这里的内容一会要被JS/JQ代码修改掉
</div>
<div id="div1">
这里的内容一会要被JS/JQ代码修改掉1111
</div>
</body>
</html>
JQ的动画效果:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<!--
1. 导入JQ相关的文件
2. 文档加载完成事件: $(function) : 页面初始化的操作: 绑定事件, 启动页面定时器
3. 确定相关操作的事件
4. 事件触发函数
5. 函数里面再去操作相关的元素
-->
//这一段相当于导入包的意思吧,不导入,JQ运行不了
<script type="text/javascript" src="../../js/jquery-1.11.0.js" ></script>
<script>
$(function(){
//显示页面图片
//给按钮绑定事件
$("#btn1").click(function(){
// $("#img1").show();
// $("#img1").slideDown();
// $("#img1").fadeIn(5000);
$("#img1").animate({ width:"800px",opacity:"1"},5000);
});
//隐藏页面图片
//获取button的id,设置函数
$("#btn2").click(function(){
//获得img
//隐藏,给图片制造函数。
// $("#img1").hide(10000);
//这个是改变高度隐藏
// $("#img1").slideUp(500);
// $("#img1").fadeOut(5000);
$("#img1").animate({ width:"1366px",opacity:"0.2"},5000);
});
});
</script>
</head>
<body>
<input type="button" value="显示" id="btn1" />
<input type="button" value="隐藏" id="btn2"/> <br />
<img src="../../img/333.png" id="img1" width="500px" />
</body>
</html>
网页定时弹出广告:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../js/jquery-1.11.0.js" ></script>
<!--
1. 导入JQ的文件
2. 编写JQ的文档加载事件
3. 启动定时器 setTimeout("",3000);
4. 编写显示广告的函数
5. 在显示广告里面再启动一个定时器
6. 编写隐藏广告的函数
-->
<script>
//显示广告
function showAd(){
//给图片设置动作函数
$("#img1").slideDown(2000);
//调用隐藏函数一次,时间30000ms
setTimeout("hideAd()",3000);
}
//隐藏广告
function hideAd(){
$("#img1").slideUp(2000);
}
//先自动加载这个显示函数,然后调用showad()显示函数
$(function(){
setTimeout("showAd()",3000);
});
</script>
</head>
<body>
<img src="../img/f001a62f-a49d-4a4d-b56f-2b6908a0002c_g.jpg" id="img1" width="100%" style="display:none" />
</body>
</html>
JQ的隔行换色:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../js/jquery-1.11.0.js" ></script>
<!--
1. 导入JQ的包
2. 文档加载完成函数: 页面初始化
3. 获得所有的行 : 元素选择器
4. 根据行号奇数/偶数去修改颜色
-->
<script>
$(function(){
//获得所有的行 : 元素选择器
//这里是后代选择器,jq里面调用CSS是$.().css(" ")
$("tbody > tr:even").css("background-color","#CCCCCC");
//修改基数行
$("tbody > tr:odd").css("background-color","#FFF38F");
// $("tbody > tr").css("background-color","#FFF38F");
});
</script>
</head>
<body>
<table border="1px" width="600px" id="tab">
<thead>
<tr >
<td>
<input type="checkbox" />
</td>
<td>分类ID</td>
<td>分类名称</td>
<td>分类商品</td>
<td>分类描述</td>
<td>操作</td>
</tr>
</thead>
<tbody>
<tr>
<td>
<input type="checkbox" />
</td>
<td>1</td>
<td>手机数码</td>
<td>华为,小米,尼康</td>
<td>黑马数码产品质量最好</td>
<td>
<a href="#">修改</a>|<a href="#">删除</a>
</td>
</tr>
<tr>
<td>
<input type="checkbox" />
</td>
<td>2</td>
<td>成人用品</td>
<td>充气的</td>
<td>这里面的充气电动硅胶的</td>
<td><a href="#">修改</a>|<a href="#">删除</a></td>
</tr>
<tr>
<td>
<input type="checkbox" />
</td>
<td>3</td>
<td>电脑办公</td>
<td>联想,小米</td>
<td>笔记本特卖</td>
<td><a href="#">修改</a>|<a href="#">删除</a></td>
</tr>
<tr>
<td>
<input type="checkbox" />
</td>
<td>4</td>
<td>馋嘴零食</td>
<td>辣条,麻花,黄瓜</td>
<td>年货</td>
<td><a href="#">修改</a>|<a href="#">删除</a></td>
</tr>
<tr>
<td>
<input type="checkbox" />
</td>
<td>5</td>
<td>床上用品</td>
<td>床单,被套,四件套</td>
<td>都是套子</td>
<td><a href="#">修改</a>|<a href="#">删除</a></td>
</tr>
</tbody>
</table>
</body>
</html>
JS的DOM操作:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../js/jquery-1.11.0.js" ></script>
<script>
//文档加载完成事件
$(function(){
//绑定点击事件
$("#btn1").click(function(){
// $("#div1").append("<font color='red' size='7'>来,互相伤害呀!</font>")
// $("#div1").prepend("<font color='red' size='7'>来,互相伤害呀!</font>");
$("#div1").after("<font color='red' size='7'>来,互相伤害呀!</font>");
// $("<font color='red' size='7'>来,互相伤害呀!</font>").appendTo("#div1")
});
});
</script>
</head>
<body>
<input type="button" id="btn1" value="来,互相伤害!" /><br />
<div id="div1">
这里一会要添加内容
</div>
</body>
</html>