jQuery 常见的基本操作

编程入门 行业动态 更新时间:2024-10-08 06:24:00

jQuery <a href=https://www.elefans.com/category/jswz/34/1770088.html style=常见的基本操作"/>

jQuery 常见的基本操作

飞雷神之术

  • jQuery 选择器
      • (1)元素选择器
      • (2)id选择器
      • (3)class选择器
      • (4)更多选择器
  • jQuery事件
      • (1)什么是事件
      • (2)常见DOM事件
      • (3)jQuery事件方法
      • (4)常用的jQuery事件方法
  • jQuery 元素操作
      • (1)元素内容获取和设置
      • (2)元素的添加及删除
      • (3)CSS的获取与设置
      • (4)jQuery尺寸
  • jQuery 遍历
      • (1)什么是遍历
      • (2)祖先
      • (3)后代
      • (4)同袍
      • (5)过滤
  • jQuery 效果
      • (1)隐藏/显示
      • (2)淡入淡出
      • (3)滑动
      • (5)链(Chaining)

jQuery 选择器

jQuery 选择器允许您对 HTML 元素组或单个元素进行操作。

jQuery 选择器基于元素的 id、类、类型、属性、属性值等"查找"(或选择)HTML 元素。 它基于已经存在的 CSS 选择器,除此之外,它还有一些自定义的选择器。

jQuery 中所有选择器都以美元符号开头: $()

jQuery 使用的语法是 XPath 与 CSS 选择器语法的组合

(1)元素选择器

jQuery元素选择器基于元素名选取元素。

语法:

$("p")

(2)id选择器

通过HTML元素的id属性选取指定的元素。使用 # 标识

页面中元素的id应该是唯一的,当需要在页面中选取唯一的元素时可以使用id选择器。

语法:

$("#app")

(3)class选择器

通过指定的class查找元素。使用 . 标识

语法:

$(".test")

(4)更多选择器

  • $("*"):选取所有元素
  • $(this):选取当前HTML元素
  • $(“p.intro”):选取class为intro的<p>元素
  • $(“p:first”): 选取第一个<p>元素
  • $(“ul li:first”):选取第一个<ul> 元素的第一个<li> 元素
  • $(“ul li:first-child”):选取每个 <ul> 元素的第一个 <li> 元素
  • $("[href]"):选取带有href属性的元素
  • $(":button"):选取所有 type=“button” 的 元素 和 元素。如果去掉冒号,$(“button”)只能获取 <button> 元素。
  • $(“tr:even”):选取偶数位置的 元素

jQuery事件

(1)什么是事件

  • 页面对不同访问者的响应叫做事件。

  • 事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。

  • 实例:

    • 在元素上移动鼠标。
    • 选取单选按钮
    • 点击元素
  • 在事件中经常使用术语"触发"(或"激发")例如: “当您按下按键时触发 keypress 事件”。

(2)常见DOM事件

鼠标事件键盘事件表单事件文档/窗口事件
clickkeypresssubmitload
dblclickkeydownchangeresize
mouseenterkeyupfocusscroll
mouseleaveblurunload
hover

(3)jQuery事件方法

在 jQuery 中,大多数 DOM 事件都有一个等效的 jQuery 方法。

示例:

$("p").click(function(){// 动作触发后执行的代码!!
});

(4)常用的jQuery事件方法

  • 基本事件

    • $(document).ready():文档已完全加载事件
    • click():点击事件
    • dbclick():双击事件
    • hover():光标悬停事件
    • focus():元素获取焦点
  • keypress, keydown, keyup的区别:

    • keydown:在键盘上按下某键时发生,一直按着则会不断触发(opera浏览器除外), 它返回的是键盘代码;
    • keypress:在键盘上按下一个按键,并产生一个字符时发生, 返回ASCII码。注意: shift、alt、ctrl等键按下并不会产生字符,所以监听无效 ,换句话说, 只有按下能在屏幕上输出字符的按键时keypress事件才会触发。若一直按着某按键则会不断触发。
    • keyup:用户松开某一个按键时触发, 与keydown相对, 返回键盘代码.

案例1:获取按键代码或字符的ASCII码:

$(window).keypress(function(event){//获取事件对象,里面包含各种有用的信息。console.log(event);//event.which是获取ASCII码,前面的函数是将ASCII码转换成字符,空格键和Enter键输出均为空白。console.log(String.fromCharCode(event.which));//从event对象中key属性获取字符,但是Enter键的key值为"Enter",空白键还是空白" "。console.log(event.key);
});

案例2:传递数据给事件处理函数

//语法:
jQueryObject.keypress( [[ data ,]  handler ] );

(1)data:通过event.data传递给事件处理函数的任意数据;

(2) handler:指定的事件处理函数;

// 只允许按下的字母键生效, 65~90是所有大写字母的键盘代码范围.
var validKeys = { start: 65, end: 90  };
$("#keys").keypress( validKeys, function(event){var keys = event.data;  //拿到validKeys对象.return event.which >= keys.start && event.which <= keys.end;
} );

jQuery 元素操作

jQuery 拥有可操作 HTML 元素和属性的强大方法。
jQuery 提供一系列与 DOM 相关的方法,这使访问和操作元素和属性变得很容易。

(1)元素内容获取和设置

  • text() - 设置或返回所选元素的文本内容
  • html() - 设置或返回所选元素的内容(包括 HTML 标记)
  • val() - 设置或返回表单字段的值
  • attr() - 方法用于设置/改变或获取属性值
<div>内容<a href="">百度一下</a></div><input type="text" value="hello"><br /><button class="text">获取文本Text</button><button class="html">获取内容HTML</button><button class="val">获取值value</button><button class="attr">获取属性attr</button><script type="text/javascript">$(function() {// text() // 没有参数表示获取纯文本内容// 带有参数表示修改内容$(".text").click(function(){console.log($("a").text("百度一下"));})// html()// 没有参数表示获取内容,包含标签// 带有参数表示修改内容,会以标签的格式显示$(".html").click(function(){console.log($("div").html());})// val()// 没有参数表示获取value属性值// 带有参数表示修改value值$(".val").click(function(){console.log($("input").val());})// // attr()// 带有一个参数表示获取指定属性的值// 带有两个参数表示修改指定属性的值// 如果有多个属性需要修改时,使用{}对象表示$(".attr").click(function(){$("a").attr("target", "_blank");console.log($("a").attr("href")); //获取href属性的值$("input").attr({ //修改input元素的多个属性type: "password",value: "123",name: "passwd"})})})

(2)元素的添加及删除

  • 添加新元素/内容

    • append() - 在被选元素的结尾插入内容。追加
    • prepend() - 在被选元素的开头插入内容。
    • after() - 在被选元素之后插入内容。
    • before() - 在被选元素之前插入内容。
    • append与prepend在选择元素内部嵌入,after和before是在元素外面追加。
<div><p>目标元素</p></div><button class="addInner">内部添加元素</button><button class="addOuter">外部添加元素</button><script type="text/javascript">$(function(){// append() 和 prepend() 表示在指定元素内部的开头或结尾添加元素// 添加的元素与指定元素是父子关系$(".addInner").click(function() {$("div").append("<span>末尾的元素</span>");$("div").prepend("<input/>")})$(".addOuter").click(function(){// after() 和 before() 表示在指定元素前面和后面添加元素// 添加的元素与指定元素是兄弟关系$("div").after("<h1>外部元素</h1>");$('div').before("<ul><li>列表</li></ul>");})})</script>

删除元素/内容

  • remove() - 删除被选元素(及其子元素)
  • empty() - 从被选元素中删除子元素
<ul><li>列表项1</li><li>列表项2</li><li>列表项3</li></ul><div><a href="#">百度</a><a href="#">新浪</a></div><button class="remove">remove</button><button class="empty">empty</button><script type="text/javascript">$(document).ready(function() {// remove()移除自己及其所有的子元素$(".remove").click(function() {$("ul").remove();})// empty()移除所有的子元素$(".empty").click(function(){$("div").empty();})})</script><section class="father"><p>其他元素</p><p class="son">段落</p></section><section class="other">xsdfad</section><button class="delete">删除</button><script type="text/javascript">$(function() {$(".delete").click(function() {// 以下两行代码是等价的// 选择元素后再过滤元素,然后删除$("section").remove(".other");//根据过滤器选择元素,再删除$("section.other").remove();})})</script>

(3)CSS的获取与设置

  • 添加CSS

    • addClass() - 向被选元素添加一个或多个类
    • removeClass() - 从被选元素删除一个或多个类
    • toggleClass() - 对被选元素进行添加/删除类的切换操作
<style type="text/css">.color {background-color: lightcyan;color: red;border: 1px solid blue;}.font {font: italic bold 40px/46px "楷体";}.size {width: 200px;height: 200px;padding: 20px;}</style></head><body><div>这是一段文本</div><button class="add">添加样式</button><button class="del">移除样式</button><button class="toggle">切换样式</button><script type="text/javascript">$(document).ready(function() {$(".add").click(function(){$("div").addClass("color font size"); //类似于className})$(".del").click(function(){$("div").removeClass("size");})$(".toggle").click(function(){$("div").toggleClass("color");})})</script><h1 style="color: red;">这是标题</h1><script type="text/javascript">$(function(){			console.log($("h1").css("color"))			// ele.style$("h1").css({color: "blue", backgroundColor: "pink", "font-size": "50px"})})			</script>

(4)jQuery尺寸

需要注意的地方,设置了 box-sizing 后,width() 获取的是 css 设置的 width 减去 padding 和 border 的值。

jQuery 遍历

(1)什么是遍历

jQuery 遍历,意为"移动",用于根据其相对于其他元素的关系来"查找"(或选取)HTML 元素。以某项选择开始,并沿着这个选择移动,直到抵达您期望的元素为止。

可以在家族树中向上移动(祖先),向下移动(子孙),水平移动(同袍).这种移动被称为对 DOM 进行遍历

(2)祖先

  • parent() - 返回被选元素的直接父元素,该方法只会向上一级对 DOM 树进行遍历
  • parents() - 返回被选元素的所有祖先元素,它一路向上直到文档的根元素 ()。可以使用可选参数来过滤对祖先元素的搜索。
    示例:
$(function(){$("p").parents(); //返回所有的祖先元素$("p").parents("ul"); //通过过滤器返回指定的祖先元素ul
});
  • parentsUntil() - 返回介于两个给定元素之间的所有祖先元素,不包含指定的元素。

(3)后代

  • children() - 返回被选元素的所有直接子元素。该方法只会向下一级对 DOM 树进行遍历。也可以使用可选参数来过滤对子元素的搜索。
    示例:
$(function(){$("ul").children(); //返回ul元素中的所有直接子元素$("ul").children(".one"); //返回ul元素中所有类名为one的所有直接子元素
});
  • find() - 返回被选元素的后代元素,一路向下直到最后一个后代。
    示例:
$(function(){$(".grand").find(".one"); //返回返回指定元素中所有类名为one的后代元素$(".grand").find("*"); //返回指定元素的所有后代元素
});

(4)同袍

同胞拥有相同的父元素。

  • siblings() - 返回被选元素的所有同胞元素。可以使用可选参数来过滤对同胞元素的搜索。
  • next() - 返回被选元素的下一个同胞元素。该方法只返回一个元素。
  • nextUntil() - 返回介于两个给定参数之间的所有跟随的同胞元素。
$(document).ready(function(){$("h2").nextUntil("h6");
});

(5)过滤

first(), last() 和 eq(),它们允许您基于其在一组元素中的位置来选择一个特定的元素。

  • first() - 返回被选元素的首个元素。
  • last() - 返回被选元素的最后一个元素。
  • eq() - 返回被选元素中带有指定索引号的元素。索引号从0开始。
$(document).ready(function(){$("div p").first(); //返回<div>中第一个p元素$("div p").last();  //返回<div>中最后一个p元素$("p").eq(1);		  //返回整个文档中第二个p元素
});

filter() 和 not() 允许您选取匹配或不匹配某项指定标准的元素。

  • filter() - 返回匹配标准所有元素。
  • not() - 返回不匹配标准所有元素。
$(document).ready(function(){$("li").filter(".one");	//返回所有类名为one的<li>元素		$("li").not(".one"); //返回所有类名不为one的<li>元素
});

not 和 eq 可以实现反选的效果。

//选取索引值不为 1 的 p 元素,并把背景颜色设置为黄色
$("p").not(":eq(1)").css("background-color","yellow");

jQuery 效果

jQuery有方法可以很快的实现 隐藏、显示、切换,滑动,淡入淡出,以及动画等效果,哇哦!

(1)隐藏/显示

hide() / show() - 隐藏/显示 HTML 元素
语法:
toggle() - 切换 hide() 和 show() 方法

$(selector).hide(speed,callback);
$(selector).show(speed,callback);//参数说明:
//speed,可选参数,规定隐藏/显示的速度,可以取以下值:"slow"、"fast" 或毫秒。
//callback,可选参数,隐藏或显示完成后所执行的函数名称。

(2)淡入淡出

fadeIn() - 淡入已隐藏的元素
fadeOut() - 淡出可见元素
fadeToggle() - 在 fadeIn() 与 fadeOut() 方法之间进行切换
fadeTo() - 允许渐变为给定的不透明度(值介于 0 与 1 之间)
注意

  • 大小写,fadeIn() fadeOut() fadeToggle() fadeTo() 大小写不能变。
  • fadeTo() 没有默认参数,必须加上 slow/fast/Time

(3)滑动

slideDown() - 向下滑动元素。
slideUp() - 向上滑动元素。
slideToggle() - 在 slideDown() 与 slideUp() 方法之间进行切换。

		<style type="text/css">div {width: 500px;height: 200px;border: 1px solid red;background-color: hotpink;}</style></head><body><button class="hide">隐藏</button><button class="show">显示</button><button class="toggle">切换显示和隐藏</button><button class="fadein">淡入</button><button class="fadeout">淡出</button><button class="fadetoggle">切换淡入淡出</button><button class="slideup">向上滑动</button><button class="slidedown">向下滑动</button><button class="slidetoggle">切换滑动</button><div></div><script type="text/javascript">$(document).ready(function(){// hide() 隐藏元素// show() 显示元素// toggle() 切换显示和隐藏元素$(".hide").click(function() {$("div").hide("slow", function(){// alert("success");});})$(".show").click(function(){$("div").show("fast", function(){// alert("show")});})//显示与隐藏的切换$(".toggle").click(function(){$("div").toggle(2000, function(){// alert("切换完成")});})//淡入$(".fadein").click(function(){$("div").fadeIn(1000)})//淡出$(".fadeout").click(function(){$("div").fadeOut(2000);})//切换淡入淡出$(".fadetoggle").click(function(){$("div").fadeToggle(1500);})//向上滑动$(".slideup").click(function(){$("div").slideUp(2000);})//向下滑动$(".slidedown").click(function(){$("div").slideDown(1000);})//滑动切换$(".slidetoggle").click(function(){$("div").slideToggle(500);})		})</script>

(5)链(Chaining)

我们都是一次写一条 jQuery 语句(一条接着另一条)。
不过,有一种名为链接(chaining)的技术,允许我们在相同的元素上运行多条 jQuery 命令,一条接着另一条。
这样的话,浏览器就不必多次查找相同的元素
如需链接一个动作,您只需简单地把该动作追加到之前的动作上。

$("#p1").css("color","red").slideUp(2000).slideDown(2000);

更多推荐

jQuery 常见的基本操作

本文发布于:2024-02-13 06:42:24,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1757916.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:常见   操作   jQuery

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!