tthappyer 2020-02-24
将获取元素的语句写到页面头部,会因为元素还没有加载而出错,jquery提供了ready方法解决这个
问题,它的速度比原生的 window.onload 更快。
<script type="text/javascript">
$(document).ready(function(){
......
});
</script>
详细写法
<script type="text/javascript">
$(function(){
......
});
</script>
简写
将获取元素的语句写到页面头部,会因为元素还没有加载而出错,jquery提供了ready方法解决这个
问题,它的速度比原生的 window.onload 更快
<script type="text/javascript">
$(document).ready(function(){
......
});
</script>
jQuery选择器
基本选择器
选择某个网页元素,然后对它进行某种操作, jquery选择器 jquery选择器可以快速地选择元素,
选择规则和css样式相同,使用length属性判断是否选择成功。
jquery用法思想一 : 选择某个网页元素,然后对它进行某种操作
$(document) //选择整个文档对象
$(‘li‘) //选择所有的li元素
$(‘#myId‘) //选择id为myId的网页元素
$(‘.myClass‘) // 选择class为myClass的元素
$(‘input[name=first]‘) // 选择name属性等于first的input元素
$(‘#ul1 li span‘)
//选择id为为ul1元素下的所有li下的span元素
$(‘#ul1 li:first‘)
$(‘#ul1 li:odd‘)
选择器修饰过滤
//选择id为ul1元素下的第一个li
//选择id为ul1元素下的li的奇数行
$(‘#ul1 li:eq(2)‘) //选择id为ul1元素下的第3个li
$(‘#ul1 li:gt(2)‘) // 选择id为ul1元素下的前三个之后的li
$(‘#myForm :input‘) // 选择表单中的input元素
$(‘div:visible‘) //选择可见的div元素
选择器函数过滤
$(‘div‘).has(‘p‘); // 选择包含p元素的div元素
$(‘div‘).not(‘.myClass‘); //选择class不等于myClass的div元素
$(‘div‘).filter(‘.myClass‘); //选择class等于myClass的div元素
$(‘div‘).first(); //选择第1个div元素
$(‘div‘).eq(5); //选择第6个div元素
选择器转移
$(‘div‘).prev(‘p‘); //选择div元素前面的第一个p元素
$(‘div‘).next(‘p‘); //选择div元素后面的第一个p元素
$(‘div‘).closest(‘form‘); //选择离div最近的那个form父元素
$(‘div‘).parent(); //选择div的父元素
$(‘div‘).children(); //选择div的所有子元素
$(‘div‘).siblings(); //选择div的同级元素
$(‘div‘).find(‘.myClass‘); //选择div内的class等于myClass的元素
操作行间样式
jquery用法思想二 同一个函数完成取值和赋值
// 获取div的样式
$("div").css("width");
$("div").css("color");
//设置div的样式
$("div").css("width","30px");
$("div").css("height","30px");
$("div").css({fontSize:"30px",color:"red"});
操作样式类名
jquery用法思想二 同一个函数完成取值和赋值
$("#div1").addClass("divClass2")
//为id为div1的对象追加样式divClass2
$("#div1").removeClass("divClass")
//移除id为div1的对象的class名为divClass的样式
$("#div1").removeClass("divClass divClass2")
//移除多个样式
$("#div1").toggleClass("anotherClass")
//重复切换anotherClass样式
jQuery属性操作
设置html内容
// 取出文本内容
// 取出html内容
var $htm = $(‘#div1‘).text();
var $htm = $(‘#div1‘).html();
// 设置文本内容
// 设置html内容
$(‘#div1‘).html(‘<span>添加文字</span>‘);
$(‘#div1‘).text(‘<span>添加文字</span>‘);
设置属性值
// 取出图片的地址
var $src = $(‘#img1‘).attr(‘src‘);
// 设置图片的地址和alt属性
$(‘#img1‘).attr({ src: "test.jpg", alt: "Test Image" });
绑定click事件
$(‘#btn1‘).click(function(){
// 内部的this指的是原生对象
// 使用jquery对象用 $(this)
})
jquery特殊效果
fadeOut() 淡出
fadeToggle() 切换淡入淡出
hide() 隐藏元素
show() 显示元素
toggle() 依次展示或隐藏某个元素
slideDown() 向下展开
slideUp() 向上卷起
slideToggle() 依次展开或卷起某个元素
jquery特殊效果
$btn.click(function(){
$(‘#div1‘).fadeIn(1000,‘swing‘,function(){
alert(‘done!‘);
});
});
<!DOCTYPE html>
<html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript" src="js/jquery-3.4.1.min.js"></script> </head> <body> </body>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style type="text/css"> * { margin: 0; padding: 0; } .box { width: 300px; height: 450px; border: 1px solid gray; margin: 0 auto; margin-top: 50px; } .box h1 { color: green; font-size: 20px; line-height: 35px; font-weight: bold; border: 1px dashed gray; padding-left: 10px; } .box li { list-style: none; padding: 10px 15px; border: 1px dashed gray; } .box li span { background-color: gray; display: inline-block; width: 20px; height: 20px; color: white; text-align: center; } .box li:nth-child(-n+3) span { background-color: green; color: white; } .content { overflow: hidden; margin-top: 5px; display: none; } .content img { width: 80px; height: 120px; float: left; } .content p { width: 180px; height: 120px; float: right; font-size: 12px; } .current .content{ display: block; } </style> <script type="text/javascript" src="js/jquery-3.4.1.min.js"></script> <script> $(function () { $(‘li‘).mouseenter(function () { $(this).addClass(‘current‘); }); $(‘li‘).mouseleave(function () { $(this).removeClass(‘current‘); }); }) </script> </head> <body> <div class="box"> <h1>电影排行榜</h1> <ul> <li> <span>1</span> 哪吒之魔童降世 <div class="content "> <img src="img/movie.jpg"> <p> 天地灵气孕育出一颗能量巨大的混元珠,元始天尊将混元珠提炼成灵珠和魔丸, 灵珠投胎为人,助周伐纣时可堪大用;而魔丸则会诞出魔王,为祸人间。 元始天尊启动了天劫咒 </p> </div> </li> <li> <span>2</span> 哪吒之魔童降世 <div class="content "> <img src="img/movie.jpg"> <p> 天地灵气孕育出一颗能量巨大的混元珠,元始天尊将混元珠提炼成灵珠和魔丸, 灵珠投胎为人,助周伐纣时可堪大用;而魔丸则会诞出魔王,为祸人间。 元始天尊启动了天劫咒 </p> </div> </li> <li> <span>3</span> 哪吒之魔童降世 <div class="content"> <img src="img/movie.jpg"> <p> 天地灵气孕育出一颗能量巨大的混元珠,元始天尊将混元珠提炼成灵珠和魔丸, 灵珠投胎为人,助周伐纣时可堪大用;而魔丸则会诞出魔王,为祸人间。 元始天尊启动了天劫咒 </p> </div> </li> <li> <span>4</span> 哪吒之魔童降世 <div class="content"> <img src="img/movie.jpg"> <p> 天地灵气孕育出一颗能量巨大的混元珠,元始天尊将混元珠提炼成灵珠和魔丸, 灵珠投胎为人,助周伐纣时可堪大用;而魔丸则会诞出魔王,为祸人间。 元始天尊启动了天劫咒 </p> </div> </li> <li> <span>5</span> 哪吒之魔童降世 <div class="content"> <img src="img/movie.jpg"> <p> 天地灵气孕育出一颗能量巨大的混元珠,元始天尊将混元珠提炼成灵珠和魔丸, 灵珠投胎为人,助周伐纣时可堪大用;而魔丸则会诞出魔王,为祸人间。 元始天尊启动了天劫咒 </p> </div> </li> </ul> </div> </body>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> * { margin: 0; padding: 0; } .box { width: 448px; height: 298px; border: 1px solid lightgray; margin: 50px auto; } .nav > li { list-style: none; width: 110px; height: 50px; background: darkseagreen; color: white; text-align: center; line-height: 50px; float: left; border: 1px solid white; } .nav > li:hover { background-color: green; } .nav > .current { background-color: green; } .content > li { list-style: none; display: none; } .content > .show { display: block; } .content > li > img { width: 448px; height: 248px; } </style> <script src="js/jquery-3.4.1.min.js"></script> <script> $(function () { $(".nav>li").mouseenter(function () { $(this).addClass("current"); $(this).siblings().removeClass("current"); var $idx = $(this).index(); var $li = $(".content>li").eq($idx); $li.siblings().removeClass("show"); $li.addClass("show"); }) }) </script> </head> <body> <div class="box"> <ul class="nav"> <li class="current">主页</li> <li>遇见好货</li> <li>年中狂欢</li> <li>夏日尚新</li> </ul> <ul class="content"> <li class="show"><img src="./img/img5.jpg" ></li> <li><img src="./img/img1.jpg" ></li> <li><img src="./img/img2.jpg" ></li> <li><img src="./img/img3.jpg" ></li> </ul> </div> </body>