写在前面:经过系统的学习了原生JS之后,会发现其具有以下三个特点:
1、是一种解释性脚本语言(代码不进行预编译)。
2、主要用来向 HTML 页面添加交互行为。
3、可以直接嵌入 HTML 页面,但写成单独的js文件有利于结构和行为的分离。
而接下来要讲的jQuery 就对原生javascript的一个扩展,封装,就是让javascript更好用,更简单。
换而言之,jquery就是要用更少的代码,漂亮的完成更多的功能。{Write less, Do more!}
1. jQuery 作为 JavaScript 的代码库,自然是使用 JavaScript 语言编写的。
2. jQuery 的代码非常规范,执行效率也很高,是 JavaScript 编码的优秀范例。
3. 很多情只要使用 jQuery 的方法就可以实现大部分的 JavaScript 功能。
所以说,程序员作为一种极懒的物种存在,势必想着要减少不必要的代码劳动量,因此jQuery诞生了。
一、jQuery基础语法
1、适应JQuery、必须要先导入JQuery。x.x.x.js文件。
$(document).ready(function() { //JQuery代码 }); 简写形式如下: $(function(){});
[文档就绪函数&window.onload的区别]
$("#p").click() √ $("#p").onclick = function(){}; ×
解释:
$("<p>这是被插入的p标签</p>").appendTo("#div1");
$("#div1").prepend("<p>这是被插入的p标签</p>");
$("#div1").after("<p>这是被插入的p标签</p>");
$("<p>这是被插入的p标签</p>").insertBefore("#div1");
$("p").wrap("<div></div>");
$("p").wrapAll("<div></div>");
删除元素的父标签
$("#p").unwrap();
$("p").replaceWith("<span>111</span>");
$("<span>111</span>").replaceAll("p");
$("#div1").empty();
$("#div1").remove();
重点 [JS中.cloneNode() 和 JQ中 .clone()区别]
两者都接受传入true/false的参数。
.cloneNode() 不传参数或传入参数false,表示只克隆当前节点,而不克隆子节点。 传入true表示可隆全部子节点。
prop与Attr区别。$("p").toggleClass("selected1");
console.log($("#div1").html());$("#div1").html("<h1>我是新的h1</h1>");
取到或设置元素里面的文字内容,相当于innerText
console.log($("#div1").text());$("#div1").text("<h1>我是新的h1</h1>");
获取或设置 元素的Value值
console.log($("input[type=‘text‘]").val());$("input[type=‘text‘]").val("啧啧啧!");
获取元素的内部宽度。 包括宽高和padding
console.log($("#div1").innerHeight());console.log($("#div1").innerWidth());
获取元素的外部宽高。 包括宽高+padding+border
offset():缺点:绑定的事件无法取消!
var str1 = " 123 ";console.log(str1.trim());
五、JQuery插件 plugin
1、fullpage插件
知识推荐
- HTML基础模板
- tomcat 、NIO、netty 本质
- js中变量名提升和函数名提升
- Raspiberry Camera详解+picamera库+Opencv控制
- jQuery和MVVM类框架的编程区别点
- ansible编译httpd playbook示例
- Hibernate多表关系
- JSON 简介
- Express web框架 upload file
- vue.js 组件监听
- Hibernate 事物隔离级别
- php错误提示
- netcat/nc
- HTML5可预览多图片ajax上传(使用formData传递数据)
- PHP ?的错误级别
- HTML+CSS鼠标悬停效果
- AJAX上传文件到服务器
- 关于动画Animate.css的使用方法