javaweb实训第二天上午——jQuery笔记(1)

简介: jQuery库引入
  1. jQuery库引入
<script type="text/javascript" src="js/jquery-2.1.3.js"></script>
<script type="text/javascript">
alert(jQuery)
alert($)
alert($===jQuery)
</script>
  1. 获取jQuery对象
<script type="text/javascript" src="jquery/jquery-2.1.3.min.js"></script>
<script type="text/javascript">
//当页面内容渲染完毕之后,再执行匿名函数中的内容
window.onload = function(){
//获取dom节点
var mydiv = document.getElementById("mydiv");
console.debug(mydiv);
//获取jquery对象(根据id获取jquery对象)
var mydiv = $("#mydiv");
console.debug(mydiv);//
}
</script>
</head>
<body>
<div id="mydiv">这是我的div</div>
</body>
  1. $(function(){  内容  })和window.onload的区别
window.onload = function(){
alert(3);
}
$(document).ready(function(){
alert(2);
});
$(function(){//简写方式
alert(1);
});

相同点:它们都是用来加载页面的

不同点: window.onload是页面内容渲染完毕之后,执行匿名函数中的内容,而(function)是页面结构加载完毕之后,执行匿名函数中的内容,所以在性能方面来说(function)是页面结构加载完毕之后,执行匿名函数中的内容,所以在性能方面来说(function)的性能要高于window.onload所以以后推荐使用$(function)

  1. jQuery对象和dom对象的相互转换
<script type="text/javascript" src="jquery/jquery-2.1.3.min.js"></script>
<script type="text/javascript">
$(function(){
//根据id获取jquery对象
var mydiv = $("#mydiv");
/*把jQuery对象转为dom节点:
1.var dom = jQuery对象.get(0);
2.var dom = jQuery对象[0]  推荐使用(简写)
*/
var dom = mydiv[0];
console.debug("dom对象:"+dom)
/*
     把dom节点转为jQuery对象:
1.var jqy = $(dom节点)
*/
var jqy = $(dom);
console.debug("jQuery对象:"+jqy)
});
</script>
</head>
<body>
<div id="mydiv">这是我的div</div>
</body>
  1. jQuery基本选择器

参考jQuery文档哟:选择器是为了选中HTML页面中的dom节点,而得到Jquery对象 ,通过Jquery对象去操作dom节点


#id       id选择器       根据id获取jQuery对象(单个)

element   元素选择器     根据标签名获取jQuery对象(多个)

.class    类型选择器      根据类型名获取jQuery对象(多个)  

selector1,selector2,selectorN      组合选择器  根据多个选择器组合在一起,选中多个

<script type="text/javascript">
$(function(){
//1.根据id获取jQuery对象
var mydiv = $("#mydiv");
console.debug(mydiv);
//2.根据元素匹配多个jQuery对象
var divs = $("div");
console.debug(divs);
//3.根据类型匹配多个jQuery对象
var hobbies = $(".hobbies");
console.debug(hobbies);
//4.组合选择器匹配多个jQuery对象
var elements = $("#mydiv,input,a");
console.debug(elements);
});
</script>
</head>
<body>
<div id="mydiv">这是我的div</div><br/>
<input type="text" name="username" class="hobbies"><br/>
<input type="text" name="password" class="hobbies"><br/>
<input type="text" name="age" class="hobbies"><br/>
<a href="javascript:void(0)" class="hobbies">超链接</a><br/>
<div>这是div2</div>
</body>
  1. jQuery的for循环
场景:例如有多个input按钮,获取每个按钮的value值
第一种:传统的遍历方式:var $objs = $("input:button");
for(var i = 0 ; i < $obj.length ; i++){
console.debug(  $obj[i])  );//注意$obj[i]是一个dom对象
}
第二种:jQuery提供的each函数
//$obj:jquery集合对象,index遍历元素的下标(从0开始),obj表示每一个节点
$obj.each(function(index , obj){
alert($(obj).val());
});
  1. JQuery注册事件的四种方式
<body>
<input type="button" value="注册事件方式1" id="btn1">
<input type="button" value="注册事件方式2" id="btn2">
<input type="button" value="注册事件方式3" id="btn3">
<input type="button" value="注册事件方式4" id="btn4">
</body>
  1. 注册事件方式1
/* jquery注册事件方式1语法格式:
jquery对象.事件名(function(){
}) */
//注册事件方式1
$("#btn1").click(function(){
alert("注册事件方式1");
});
  1. 注册事件方式2
/* jquery注册事件方式2语法格式:
jquery对象.bind("事件名",function(){
}) */
//注册事件方式2
$("#btn2").bind("click",function(){
alert("注册事件方式2");
})
  1. 注册事件方式3[推荐]支持事件委托机制
/* jquery注册事件方式3语法格式:(老师推荐使用,因为兼容性最好,功能最强大---因为支持事件冒泡)
jquery对象.on("事件名",[选择器],function(){
}) */
//注册事件方式3
$("#btn3").on("click",function(){
alert("注册事件方式3");
})
  1. 注册事件方式4
/* jquery注册事件方式4语法格式:
jquery对象.one("事件名",function(){
});特点:一次生效之后,自动注销事件 */
//注册事件方式4
$("#btn4").one("click",function(){
alert("生效一次之后,自动注销事件");
})
  1. 注销事件[推荐]
/* 注销事件的语法格式:jquery对象.off(); */
//注销事件
$("#btn1").off();
  1. 事件委托机制
<input type="button" value="动态添加按钮" id="btn">
<div id="filediv">
<input type="button" code="button" value="按钮"><br/>
</div>
<script type="text/javascript">
$(function(){
$("#btn").on("click",function(){
$("#filediv").append('<input type="button" code="button" value="按钮"><br/>');
})
/* $("input[code]").on("click",function(){
alert("注册成功!");
})
这种注册方式,只会在加载结构的时候,满足条件的才会注册事件,动态追加的,就没法注册成功
怎么解决呢?答:我们可以使用事件委托机制*/
//事件委托机制,注册给filediv 通过他委托给input[code]
$("#filediv").on("click","input[code]",function(){
alert("注册成功!!");
})
});
</script>
  1. JQuery中的方法[练习]
  1. jQuery操作html/文本/value属性值

html(),text(),val()

<div id="mydiv"><h1>这是我的div</h1></div>
var text = $("#mydiv").text();//获取文本,仅仅获取文本
console.debug(text);
$("#mydiv").text("<h2>我只会当纯文本进行展示哦</h2>");//设置文本

javaweb实训第二天上午——jQuery笔记(2)https://developer.aliyun.com/article/1414831?spm=a2c6h.13148508.setting.21.4d4d4f0erzCTC6

目录
相关文章
|
3月前
|
JavaScript
jQuery DOM2-第4次课-从某个元素出发,往上下左右找祖先、后代、兄弟然后对其进行增删改-附资料作业笔记
jQuery DOM2-第4次课-从某个元素出发,往上下左右找祖先、后代、兄弟然后对其进行增删改-附资料作业笔记
25 0
|
3月前
|
JSON JavaScript 前端开发
javaweb实训第二天上午——jQuery笔记(3)
JSON格式数据 JSON格式数据概述
34 0
|
3月前
|
JSON JavaScript 前端开发
javaweb实训第二天上午——jQuery笔记(2)
jQuery操作元素或节点的方法 添加:append(),appendTo(),prepend(),after(),before() 删除:remove(),empty() 复制:clone(true)
29 5
|
4月前
|
JavaScript 前端开发 UED
前端知识笔记(四)———JQuery 自动刷新页面但不闪烁的实现方法
前端知识笔记(四)———JQuery 自动刷新页面但不闪烁的实现方法
50 0
|
6月前
|
JavaScript
JavaWeb JQuery操作结点
JavaWeb——JQuery内容补充 JQuery操作DOM。
23 0
|
6月前
|
JavaScript 前端开发 数据安全/隐私保护
JavaWeb 速通JQuery
JavaWeb——JQuery 内容分享。
32 0
|
7月前
|
设计模式 JavaScript 前端开发
【JavaWeb】 JavaScript 开发利器之 jQuery
封装和抽象:jQuery库封装了一系列常见的DOM操作、事件处理、Ajax请求等功能,以简化开发人员的工作。它对底层的JavaScript操作进行了封装和抽象,提供了更简洁、易用的接口。 选择器引擎:jQuery库通过自定义的选择器引擎,可以使用CSS选择器来选择HTML元素。这使得开发人员能够方便地操作DOM元素,而不需要繁琐地编写原生的JavaScript代码。 链式调用:jQuery库采用链式调用的设计模式,使得可以对选择的元素进行连续的操作。通过返回相同的jQuery对象,可以在同一行代码中依次调用多个方法,提高开发效率和代码可读性。
|
8月前
|
JavaScript 前端开发 数据安全/隐私保护
jQuery 选择器全部详细笔记
jQuery 选择器全部详细笔记
57 0
|
9月前
|
XML 存储 JSON
【全套jQuery】学了一下午,我敢说这一定是最好的笔记!
【全套jQuery】学了一下午,我敢说这一定是最好的笔记!
|
JavaScript 前端开发 索引
jquery基础之笔记(全)
var x = 42; console.log( x ); var message = (function( x ){ return function() { console.log( "x is " + x ); } })( x ); message(); x = 12; console.log( x ); message(); ----------------
1180 0