什么是jQuery?
jQuery和JAVAScript的作用一樣,都是負責網頁行為操作,增加網頁和用戶的交互效果的,而且jQuery簡化了JavaScript編程,jQuery實現交互效果更簡單。
jQuery也兼容了現在主流的瀏覽器,增加了程序員的開發效率。
可以通過jQuery官網獲取庫文件:
引入jquery.js文件:
<script src="/static/js/jquery-3.6.3.min.js"></script>
jQuery入口函數:(速度比window.onload更快)
<script>
$(document).ready(function(){
alert("hello jQuery");
});
</script>
簡寫:
$(function(){
alert("Hello jQuery");
});
元素的隱藏、展現
- $box.hide():隱藏,可以添加參數,表示消失時間
- $box.show():展現,可以添加參數,表示出現時間
- $box.fadeOut():慢慢消失,可以添加參數,表示消失時間
- $box.fadeIn():慢慢出現,可以添加參數,表示出現時間
常用選擇器
- $('#myId'):選擇id為myId的標簽
- $('.myClass'):選擇class為myClass的標簽
- $('div'):選擇所有的div標簽
- $("a[target='_blank']"):選取所有target屬性值等于"_blank"的<a>元素
項目目標:點擊叉號,關閉彈窗。
$(function(){
let $container = $("#container");
// console.log($container);
let $btn = $("#btn");
$btn.click(function(){
$container.css({'display': 'none'});
});
});
篩選選擇器
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
</ul>
<script>
$(function(){
$("li:first").css({"color": "red"});
$("li:eq(1)").css({"color": "blue"});
$("li:odd").css({"color": "pink"});
$("li:even").css({"color": "green"});
});
</script>
選擇集轉移
- $('#box').prev(); 表示選擇id是box元素的上一個的同級元素
- $('#box').prevAll(); 表示選擇id是box元素的上面所有的同級元素
- $('#box').next(); 表示選擇id是box元素的下一個的同級元素
- $('#box').nextAll(); 表示選擇id是box元素的下面所有的同級元素
- $('#box').parent(); 表示選擇id是box元素的父元素
- $('#box').children(); 表示選擇id是box元素的所有子元素
- $('#box').siblings(); 表示選擇id是box元素的其它同級元素
- $('#box').find('.myClass'); 表示選擇id是box后代元素的class等于myClass的元素
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<ul id="list">
<li class="box1">4-1</li>
<li class="box1">4-2</li>
<ul>
<li class="box1">4-3-1</li>
<li class="box2">4-3-2</li>
<li class="box2">4-3-3</li>
</ul>
</ul>
<li>5</li>
<li>6</li>
</ul>
<script>
$(function(){
// $("#list").prev().css({'color':'red'});
// $("#list").prevAll().css({'color':'red'});
// $("#list").next().css({'color':'red'});
// $("#list").nextAll().css({'color':'red'});
// $("#list").children(".box1").css({'color':'red'});
// $("#list").siblings().css({'color':'red'});
$("#list").find(".box1").css({'color':'red'});
});
</script>
對內容、文本操作
- $box.html():獲取、修改HTML內容
- $box.text():獲取、修改文本信息
- $box.val():獲取、修改文本的值
<div id="box">hello</div>
<input type="text" name="" id="" value="100">
<a href="" id="mylink">黑貓編程</a>
<script>
let $box = $("#box");
console.log($box.html());
console.log($box.text());
$box.html("<span style='color:red'>你好</span>");
$box.Append("<span style='color:green'>你好</span>");
let $input =$("input");
$input.val("200");
let $a = $("a");
$a.prop({"href":"https://noi.hioier.com/", "target":"_blank"});
</script>
事件傳遞
<div id="box1">
<div id="box2">
</div>
</div>
<button>停止</button>
<script>
$("#box1").on("click", function(e){
console.log("click box1");
});
$("#box2").on("click", function(e){
console.log("click box2");
return false; // 阻止事件冒泡
});
$("button").on("click", function(e){
$("#box1").off("click");
$("#box2").off("click");
});
</script>
對類的操作
- $box.addClass(class_name):添加某個類
- $box.removeClass(class_name):刪除某個類
- $box.hasClass(class_name):判斷某個類是否存在
<div></div>
<script>
$(function(){
let $div = $("div");
console.log($div);
$div.on("click", function(e){
$(this).addClass("active");
console.log($(this).hasClass("active"));
});
});
</script>