jquery 快速入门二
---恢复内容开始---
操作标签
样式操作
样式类
addClass();//添加指定的CSS类名。
removeClass();//移除指定的类名.
hasClass();//判断样式不存在
toggleClass();//切换css类名,如果有就移除,如果没有就添加
示例:开关灯和模态框
CSS
css("color","red") //DOM操作:tag.style.color="red"
示例:
$("P").css("color","red");//将所有P标签的字体设置为红色
原生DOM 修改css属性:
var pEle =document.getElementById("p1") pEle.style.color="green" Jquery修改css属性 $("#p1").css("color","red") $("#p1").css("font-size","24px") //设置属性得值 $("#P1").CSS("font-size") //获取属性的值 $("#P1").CSS({"border":"1px solid black","color":"blue"}) //同时设置多个属性的值
位置:
offset() //获取匹配元素在当前窗口的相对偏移或者设置
例:$(".C3").offset() 获取
例:$(".C3").OFFSET({top:284,left:400}) 设置 position()//获取匹配元素相对父元素的偏移
例:$(".C2").position() 获取 只能获取不能设置 scrollTop()//获取匹配元素相对滚动条顶部得偏移 例:$(window).scrollTop()
srcollLeft()//获取匹配元素相对滚动条左侧的偏移
.offset()方法允许我们检索一个元素的相对于文档(document)的当前位置。
和.position()的差别在于: .position()是相对于父元素的位移
示例:返回顶部示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>位置相关示例之返回顶部</title>
<style>
.c1{
width:100px;
height:200px;
background-color: red;
}
.c2{
height:50px;
width:50px;
position: fixed;
bottom:15px;
right:15px;
background-color: #2b669a;
}
.hide{
display: none;
}
.c3{
height: 100px;
}
</style>
</head>
<body>
<button id="b1" class="btn btn-default">点我</button>
<div class="c1"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3">/div>
<div class="c3"></div>
<div class="c3">/div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div>
<div class="c3"></div> <button id="b2" class="btn btn-default c2 hide">返回顶部</button>
<script src="jquery-3.3.1.min.js"></script>
<script>
$("#b1").on("click",function(){
$(".c1").offset({left:,top:});
});
$(window).scroll(function(){
if ($(window).scrollTop()>){
$("#b2").removeClass("hide");
}else{
$("#b2").addClass("hide");
}
});
$("#b2").on("click",function(){
$(window).scrollTop();
});
</script>
</body>
</html>
尺寸:
height()
width()
innerHeight() //内容+padding
innerWidth()
outerHeight() //内容+padding+边框
outerWidth()
HTML代码
html() //取得第一个匹配元素的HTML 内容
//js取值:
document.getElementById("d1").innerHTML ="<h1>注释是代码之母</h1>" //jquery方法
$("#d1").html() 获取第一个html元素 html(val)// 设置所有匹配元素的HTML内容
$("#d1").html("<h1>永远不要高估自己!</h1>") //设置html 里的元素
文本值:
text()//取得所有匹配元素的内容 document.getElementById("d1").innerText =gay in gay out";
# js方法 jquery 方法
$("#d1").text() //取得d1 标签的值 $("#d1").text("gay 里gay 气") #设置#d1里的标签的值 text(val) //设置所有匹配元素的内容
值:
val() //取得第一个匹配元素的当前值
例子;$("input[name='username']").val()
val(val) //设置所有匹配元素的值
例子:$("input[name='username']").val('egon dsd)
val([val1,val2]) //设置checkbox,select 的值
示例:获取被选中的checkbox 或radio 的值
<label for =“c1”>女</label>
<input name="gender" id="c1" type="radio" value="">
<label for="c2">男</labe>
<input name="gender" id="c2" type="radio" value=""> 可以使用
$("input[name='gender']:checked").val()
练习:自定义登录校验示例
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta http-equiv="x-ua-compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>文本操作之登录验证</title>
<style>
.error {
color: red;
}
</style>
</head>
<body> <form action="">
<div>
<label for="input-name">用户名</label>
<input type="text" id="input-name" name="name">
<span class="error"></span>
</div>
<div>
<label for="input-password">密码</label>
<input type="password" id="input-password" name="password">
<span class="error"></span>
</div>
<div>
<input type="button" id="btn" value="提交">
</div>
</form>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script>
$("#btn").click(function () {
var username = $("#input-name").val();
var password = $("#input-password").val(); if (username.length === ) {
$("#input-name").siblings(".error").text("用户名不能为空");
}
if (password.length === ) {
$("#input-password").siblings(".error").text("密码不能为空");
}
})
</script>
</body>
</html>
属性操作
用于ID等于或自定义属性:
attr(attrName) //返回第一个匹配元素的属性值
例子:$("#d1").attr("s1") //返回 s1 的值 attribute(attrName, attrValue) //为所有匹配元素设置一个属性值
例子:$("#d1").attr("s1","great") //为s1设置属性值为great attr({k1:v1,k2:v2})// 为所有匹配元素设置多个属性值
例子$("#d1").attr({"num":"","tedian":"gay"}) //为d1 匹配多个属性值 removeAttr() //从每一个匹配的元素中删除一个属性
例子:$("#d1").removeAttr("tedian") //删除d1中tedian属性
用于checkbox 和radio
prop()获取属性 removeProp() // 移除属性
注意:
在1.x及2.x版本的jQuery中使用attr对checkbox进行赋值操作时会出bug,在3.x版本的jQuery中则没有这个问题。为了兼容性,我们在处理checkbox和radio的时候尽量使用特定的prop(),不要使用attr("checked", "checked")。
<input type="checkbox" value="">
<input type="radio" value="">
<script>
$(":checkbox[value='1']").prop("checked", true);
$(":radio[value='2']").prop("checked", true);
</script>
示例, 全选,反选, 取消
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>全选反选取消练习</title>
</head>
<body> <button id="b1">全选</button>
<button id="b2">取消</button>
<button id="b3">反选</button>
<table border="">
<thead>
<tr>
<th>#</th>
<th>姓名</th>
<th>爱好</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="checkbox"></td>
<td>Egon</td>
<td>喊麦</td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>Alex</td>
<td>吹牛逼</td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>Yuan</td>
<td>不洗头</td>
</tr>
</tbody>
</table>
<script src="jquery-3.3.1.min.js"></script>
<script>
// 全选
$("#b1").click(function () {
// 让所有的checkbox选中
$("table :checkbox").prop("checked", true)
});
// 取消
$("#b2").click(function () {
// 让所有的checkbox取消选中
$("table :checkbox").prop("checked", false)
});
// 反选
$("#b3").click(function () {
// // 找到没有选中的让它们选中
// $("table input:not(:checked)").prop("checked", true);
// // 找到所有选中的让它们取消选中
// $("table input:checked").prop("checked", false); // 方法1:循环
var $checkboxs = $("table input:checkbox");
// for (let i=0;i<$checkboxs.length;i++){
// var $currentCheckbox = $($checkboxs[i]);
// if ($currentCheckbox.prop("checked")){
// // 如果之前是选中的
// $currentCheckbox.prop("checked", false);
// }else {
// // 之前没有选中
// $currentCheckbox.prop("checked", true);
// }
// } for (let i=;i<$checkboxs.length;i++){
var $currentCheckbox = $($checkboxs[i]);
var flag = $currentCheckbox.prop("checked");
$currentCheckbox.prop("checked", !flag)
} }); </script>
</body>
</html>
文档处理
添加到指定元素内部的后面
$(A).append(B) //把B 追加到A的后面 $(A).appendTo(B) //把A追加到B的后面
示例:
var pEle = document.createElement("p");
pEle.innerText = "qqqqqqq"; $("#d1").append(pEle) //把pEle追加到d1的后面
===>>相同于 $(pEle).appendTo($("#d1")) //把pEle追加到d1 的后面
添加到指定元素 内部的前面
$(A).prepend(B) //把B前置到A $(A).prenpendTo(B) // 把A 前置到B
示例:
var pEle = document.createElement("p");
pEle.innerText = "qqqqqqq"; $("#d1).prepend(pEle) //把pEle 放到d1的前面
===>>相等于
$("pEle").appendTo($("#d1")) //把pEle放到d1 前面
添加到指定元素外部的前面:
$(A).before(B)//把B放到A 的前面(外部) $(A).insertBefore(B) //把A放到B 的前面(外部)
示例:
var pEle = document.createElement("p");
pEle.innerText = "qqqqqqq"; $("#p1").before(pEle) //把pEle追加到d1的前面
===>>相同于
$(pEle).inserBedore($("#p1")) //把pEle追加到d1 的前面
添加到置顶元素外部的后面
$(A).after(B) //把B放到A 后面 $(A).insertAfter(B) // 把A放到B 的后面
示例
var pEle = document.createElement("p");
pEle.innerText = "qqqqqqq"; $("#p1").after(pEle) //把pEle追加到d1的后面
===>>相同于
$(pEle).inserAfter($("#p1")) //把pEle追加到d1 的后面
移除和清空元素
remove()// 从DOM 中删除所有匹配的元素 empyt() // 删除匹配的元素集合中所有的子节点 例子 $("#d1").empty()
替换
replaceWith()
replaceAll() 例子:
var spanEle = document.createElement("span");
spanEle.innerText = "呵呵"; $(spanEle).replaceAll($("p")); //把spanEle替换到 P标签
克隆
clone()//参数
练习:点击复制按钮
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta http-equiv="x-ua-compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>克隆</title>
<style>
#b1 {
background-color: deeppink;
padding: 5px;
color: white;
margin: 5px;
}
#b2 {
background-color: dodgerblue;
padding: 5px;
color: white;
margin: 5px;
}
</style>
</head>
<body> <button id="b1">屠龙宝刀,点击就送</button>
<hr>
<button id="b2">屠龙宝刀,点击就送</button> <script src="jquery-3.2.1.min.js"></script>
<script>
// clone方法不加参数true,克隆标签但不克隆标签带的事件
$("#b1").on("click", function () {
$(this).clone().insertAfter(this);
});
// clone方法加参数true,克隆标签并且克隆标签带的事件
$("#b2").on("click", function () {
$(this).clone(true).insertAfter(this);
});
</script>
</body>
</html>
jquery 快速入门二的更多相关文章
- day 48 jQuery快速入门
jQuery快速入门 jQuery jQuery介绍 1.jQuery是一个轻量级的.兼容多浏览器的JavaScript库. 2.jQuery使用户能够更方便地处理HTML Document.Ev ...
- JQuery的入门(二)
Jquery的遍历 jQuery对象本身就是数组对象,通过jquery选择器获得的都是满足该选择器条件的元素对象的集合体,因此在常常需要对jquery对象进行遍历.这里有三种遍历Jquery的方法. ...
- python3.5+django2.0快速入门(二)
昨天写了python3.5+django2.0快速入门(一)今天将讲解配置数据库,创建模型,还有admin的后台管理. 配置数据库 我们打开mysite/mysite/settings.py这个文件. ...
- jquery快速入门(二)
jQuery 效果 1.隐藏,显示 1.1显示 hide() 和隐藏 show() 语法:$(selector).hide(speed,callback); $(selector).show(spee ...
- jQuery 快速入门教程
内容目录 jQuery 入门 什么是jQuery 如何使用jQuery jQuery的运行原理 如何选择jQuery版本 ready() 准备就绪时执行代码 jQuery 核心:选取元素 使用jQue ...
- JQuery快速入门-选择器
JQuery选择器 JQuery 选择器继承了CSS 与Path 语言的部分语法,允许通过标签名.属性名或内容对DOM 元素进行快速.准确的选择,而不必担心浏览器的兼容性,通过jQuery 选择器对页 ...
- jQuery快速入门专题
jQuery入门专题 本人博客特点:最高重要等级为*****(五红星),依次减少代表重要性相对较低! 一.jQuery简介 jQuery 是一个 JavaScript的一个库,也就是说jQuery是基 ...
- jquery快速入门(一)
一.jquery加载文档 jquery加载文档(也叫入口函数) $(document).ready(function(){ // 这里写 jQuery 代码... }); 简写方式: $(functi ...
- JQuery快速入门-简介
一.什么是JQuery? jQuery是一个JavaScript库,它通过封装原生的JavaScript函数得到一整套定义好的方法.它的作者是John Resig,于2006年创建的一个开源项目,随着 ...
随机推荐
- C++ "#"的作用和使用方法
本系列文章由 @yhl_leo 出品,转载请注明出处. 文章链接: http://blog.csdn.net/yhl_leo/article/details/48879093 1 #和##的作用和使用 ...
- vue directive demo
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- 启动app-inspector报Internal Server Error
前言 应用工具app-inspector可以协助定位IOS版App的控件元素,然鹅启动时报Internal Server Error! 解决办法 一.找到XCTestWD项目 目录: /usr/loc ...
- React Native 学习(三)之 FlexBox 布局
React Native 学习(三)之 FlexBox 布局
- EasyDarwin开源流媒体云平台之EasyRMS录播服务器功能设计
需求背景 EasyDarwin开发团队维护EasyDarwin开源流媒体服务器也已经很多年了,之前也陆陆续续尝试过很多种服务端录像的方案,有:在EasyDarwin中直接解析收到的RTP包,重新组包录 ...
- DirectShow音频采集pcm,实时编码AAC,附源码
定期送福利,今天给大家送上Windows中利用DirectShow采集microphone音频,并将采集到的pcm数据,利用FAAC库编码成AAC,进行本地存储或者网络传输. 直接贴代码,解析看注释: ...
- MSVC环境,Qt代码包含中文无法通过构建的解决方案
将代码文件的编码更改为ANSI(方便起见,将Qt Creator的Text Editor默认编码改为System) 这样就可以通过构建,不过会出现中文乱码的问题 还需要使用QStringLiteral ...
- Dockerfile指令:
Dockerfile指令: 第一行注释,指令是大写字母开头, FROM指令: FROM<image>,后面跟镜像名, FROM<image>:<tag>,后面跟镜像 ...
- Sqoop hive导出到mysql[转]
通过Sqoop将Hive表数据导入到MySQL通常有两种情况. 第一种是将hive上某张表的全部数据导入到mysql对应的表中. 第二种是将hive上某张表中的部分数据导入到mysql对应的表中. 两 ...
- Java诊断工具Arthas
Java诊断工具Arthas 1. Arthas简介 Arthas是阿里开源的一个线上java诊断工具,发现阿里还是挺喜欢开源一些技术的,造福人类.昨天试用了一下,发现真是强大,解决了我工作两年的很多 ...