前言
事情是这样的,某天我在项目的某个页面写了一段js代码,结果因为情况思虑不周出问题了,我上级就过来指导一下,他看了一眼我写的js代码,问了一句:“你怎么不用jQuery,这js代码写的多麻烦”,我自己看了一下:var $attr_id = document.getElementsByClassName(‘active attr‘)[0].getAttribute("value"); //这是获取button的value值。emmm...确实好长啊,就这么一个简单的事情,代码辣么长,但是无奈自己连js都用的不咋地,只能尴尬一笑而过了。之后在网上看了一下jQuery的教程,明白为啥我上级会那样说了,jQuery确实简化了很多js代码,让它看上去不那么冗长了。现在我就总结一下jQuery的一些常见使用方法。
jQuery简介
什么是jQuery
jQuery是一个JavaScript函数库
jQuery是一个轻量级的“写得少,做得多”的JavaScript库
jQuery库库包含了以下功能:
- HTML元素获取
- HTML元素操作
- CSS操作
- HTML事件函数
- JavaScript特效和动画
- HTML DOM遍历和修改
- AJAX
- Utilities
除此之外,jQuery还提供了大量插件。可以说jQuery是目前最流行的js框架。
jQuery引入
本地引入的话先在官网上 https://jquery.com/download/ 下载jQuery库到本地。
在使用jQuery时首先需要先引入jQuery库,比如<script src="js/jquery.min.js"></script>
库文件既可以放在本地引用,也可以直接使用知名公司的CDN,用户在使用浏览器的过程中可能已经缓存在浏览器中了,这样可以加快网站的打开速度,另一方面可以节省网站的流量带宽。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script> //Google
或者:
<script src="http://code.jquery.com/jquery-1.6.min.js"></script> //jQuery 官方
jQuery语法
jQuery语法是通过选取HTML元素,并对选取的元素执行某些操作。
基础语法:$(selector).action()
实例:
- $(this).hide() -隐藏当前元素
- $("p").hide() -隐藏所有
元素
- $("p.test").hide() -隐藏所有class="test"的
元素
- $(#test).hide()-隐藏id="test"的元素
我们常见的
$(function(){
//jQuery代码
});
其实是文档准备事件:
$(document).ready(function(){
// 开始写 jQuery 代码...
});
的简洁写法,文档准备事件就为了防止在文档完全加载之前就运行jQuery代码,即保证了DOM加载完成后才可以对DOM进行操作。
jQuery HTML
作为后端开发,接触最多的应该就是jQuery和HTML的结合了,像那些胡里花哨的动态效果还是交给前端去设计吧,毕竟咱们后端的工作就是这样朴实无华且枯燥
获取内容和属性
jQuery DOM操作
jQuery 中非常重要的部分,就是操作 DOM 的能力。
jQuery 提供一系列与 DOM 相关的方法,这使访问和操作元素和属性变得很容易。
获得内容 -text()、html()以及val()
- text() -设置或返回所选元素的文本内容
- html() -设置或返回所选元素的内容(包括HTML标记)
- val() -设置或返回表单字段的值
举例说明:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js">
</script>
<script>
$(document).ready(function(){
$("#btn1").click(function(){
alert("Text: " + $("#test").text());
});
$("#btn2").click(function(){
alert("HTML: " + $("#test").html());
});
});
</script>
</head>
<body>
<p id="test">这是段落中的 <b>粗体</b> 文本。</p>
<button id="btn1">显示文本</button>
<button id="btn2">显示 HTML</button>
</body>
</html>
获取属性
jQuery attr()方法用户获取属性值。
<script>
$(document).ready(function(){
$("button").click(function(){
alert($("#runoob").attr("href"));
});
});
</script>
<a href="//www.runoob.com" id="runoob">菜鸟教程</a>
设置内容和属性
设置内容 -text()、html()、val()
设置值和获取值的函数一样,如果函数没有传值,那么就是获取相应的值,如果传值,就变为设置对应的值
举例说明:
<script>
$(document).ready(function(){
$("#btn1").click(function(){
$("#test1").text("Hello world!");
});
$("#btn2").click(function(){
$("#test2").html("<b>Hello world!</b>");
});
$("#btn3").click(function(){
$("#test3").val("RUNOOB");
});
});
</script>
<p id="test1">这是一个段落。</p>
<p id="test2">这是另外一个段落。</p>
<p>输入框: <input type="text" id="test3" value="菜鸟教程"></p>
<button id="btn1">设置文本</button>
<button id="btn2">设置 HTML</button>
<button id="btn3">设置值</button>
text()、html() 以及 val() 的回调函数
上面的三个 jQuery 方法:text()、html() 以及 val(),同样拥有回调函数。回调函数有两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。
举例说明:
$("#btn1").click(function(){
$("#test1").text(function(i,origText){
return "旧文本: " + origText + " 新文本: Hello world! (index: " + i + ")";
});
});
$("#btn2").click(function(){
$("#test2").html(function(i,origText){
return "旧 html: " + origText + " 新 html: Hello <b>world!</b> (index: " + i + ")";
});
});
设置属性 -attr()
同上,在函数中传值就是用户设置/改变属性值
实例说明:
//修改runoob的href属性值
$("button").click(function(){
$("#runoob").attr("href","http://www.runoob.com/jquery");
});
attr()方法允许同时设置多个属性。
$("button").click(function(){
$("#runoob").attr({
"href" : "http://www.runoob.com/jquery",
"title" : "jQuery 教程"
});
});
同样attr()也提供了回调函数,回调函数有两个参数:被选元素列表中当前元素的下标,以及原始(旧的)值。然后以函数新值返回您希望使用的字符串。
$("button").click(function(){
$("#runoob").attr("href", function(i,origValue){
return origValue + "/jquery";
});
});
jQuery -获取并添加CSS类
jQuery 拥有若干进行 CSS 操作的方法:
- addClass() - 向被选元素添加一个或多个类
- removeClass() - 从被选元素删除一个或多个类
- toggleClass() - 对被选元素进行添加/删除类的切换操作
- css() - 设置或返回样式属性