日常使用jQuery

前言

事情是这样的,某天我在项目的某个页面写了一段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() - 设置或返回样式属性
posted @ 2020-06-10 17:36  Achau  阅读(109)  评论(0编辑  收藏  举报