2、事件机制、DOM操作、jquery对尺寸操作、jquery添加和删除

一、事件机制

1、事件源.事件类型(事件处理程序)

$(this)中的this不能加引号

$('#box').click(function () {
  $(this).css('background-color','blue')//点击颜色变为蓝色
})

2、事件源.on/bind(事件类型,事件处理程序)

$("#box").on('dbclick',function () {
  $(this).css('border-radius','100px')
})
$('#box').bind('mouseover',function () {
  $(this).csss('font-size','60px')
})

3、事件源.on/bind({事件类型1:事件处理程序1,事件类型2:事件处理程序2,})

$('#box').on({ //用on或bind
  mousedown: function () {//按下鼠标
    console.log("鼠标按下了")
  },
  mouseup: function () {//抬起鼠标
    console.log("鼠标抬起了")
  }
})

区别.on()与.bind():

  • 与 .bind() 不同的是,.on() 方法可以附加额外的参数,如可选的选择器,用于对事件目标进行过滤。这样,您可以只在满足选择器条件的元素上触发事件处理程序。

4、事件对象

event不用考虑兼容性 输出必须要event.属性

$("#box").on({
  mouseenter: function () {
//MouseEvent {isTrusted: true, screenX: 168, screenY: 178, clientX: 127 …}
    console.log(event)
    console.log('pageX:' + event.pageX)//距离浏览器左边的横坐标 包括滚动条卷去的
    console.log('clientX:' + event.clientX)//距离浏览器左边的横坐标
  },
})
$('#user').bind('keyup', function () {
  console.log(event);
  //如果按下enter就跳转页面
  if(event.keyCode == 13 && event.key == 'Enter') {
    window.location.href = "https://www.***.com"
  }
})

5、each() 函数用于遍历的对象和数组。

$('#btn').click(function () {
    console.log($("ul>li"));
  $('ul>li').each(function () {
    console.log($(this).text()// 输出每个列表项的文本内容
  })
})
image-20240302163458915

6、jQuery.each(数组/对象,回调函数(key,value)) 遍历数组或者对象

遍历数组

var arr = ['web', '前端']
//遍历数组   key  value也可以
$.each(arr, function (index, item) {
//数组的索引是0,值是web 数组的索引是1,值是前端 
  console.log('数组的索引是' + index + ',值是' + item)
})

遍历对象

var obj = { name: "小明", age: 20, sex: "男" }
$.each(obj, function (index, item) {
//属性名:name,属性值:小明  属性名:age,属性值:20  属性名:sex,属性值:男
  console.log("属性名:" + index + ",属性值:" + item)
})

二、DOM操作

1、 html()获取或设置被选元素的所有节点

  • 相当于innerHTML
console.log($('#box').html());
//<p>哈哈哈</p>   <!-- 我是注释 -->  都可以获取到
$("#btn").on('click',function(){
  $("#box").html("<a>我是超链接</a><!-- 我是注释的升级版 -->")
})

image-20240302165555873

2、text()设置或返回所选元素的内容

  • 相当于innerText
console.log($('#box').text())//返回内容
$('#btn').bind('mouseover', function () {
   $('#box').text('段落标签')//改变内容为段落标签
})

3、val()设置或返回表单字段的值

<input type="text" id="user" value="我是输入框的文本">
console.log($('#user').val())//返回 我是输入框的文本
$('#user').on({
  click: function () {
    $(this).val('web31')//点击以后  值变为 web31
  }
})

4、attr()prop()获取或者设置被选元素的属性,参数是属性名和属性值

区别1:

  • attr() 不仅可以获取和设置元素的本身属性和设置元素的自定义属性
  • prop()只能设置元素的本身属性

区别2:

  • 表单中的一些属性disabled/selected/checked用prop()
<p class="text" name_1="proName">我是盒子box中的段落文本text</p>
console.log($('.text').attr('class')) //text  获取类名为text的class为
console.log($('.text').prop('class')) //text  获取类名为text的class为
//proName  获取类名为text的name_1为 
console.log($('.text').attr('name_1'))//proName
console.log($('.text').prop('name_1')) //undefined  prop不能获取自定义属性
$('#btnSet').click(function () {
  console.log($(this).attr('disabled')) //undefined 表单中的不能用attr
  console.log($(this).prop('disabled'))//flase
})

三、jquery对尺寸操作

1、width()height()方法

  • 设置或返回元素的宽度高度
  • 相当于 style.width()
    元素本身大小
console.log($('#child').width())//返回元素的宽度
console.log($('#child').height())
$('button').click(function () {
  $('#child').width('400px')//点击以后 将元素的宽度改为400px
  $('#child').height('300px')
})

2、innerWidth()innerHeight()

  • 相当于clientWidth() / clientHeight()
    元素本身 + padding
console.log($('#child').innerWidth())
console.log($('#child').innerHeight())

3、outerWidth()outerHeight()

  • 相当于offsetWidth offsetHeight
    元素本身 + padding + border
console.log($('#child').outerWidth())
console.log($('#child').outerHeight())

4、scrollTop()scrollLeft()

  • 方法设置或者返回滚动条被卷去的元素的高度
  • scrollLeft() 方法设置或者返回滚动条被卷去的元素的宽度
$(window).scroll(function () {
// console.log($(window).scrollTop())
console.log($(window).scrollLeft())
})
$('#set').click(function () {
  $(window).scrollTop(600)//点击按钮  滚动条卷去600px
})

四、jQuery添加和删除元素

1、append() 结尾插入(选择的元素内部)

$("#add").click(function () {
  console.log($("#parent").append("<li>我是添加的元素</li>"));
})

image-20240302184220947

2、prepend() 开头插入(选择的元素内部)

$("#add").click(function () {
    console.log($("#parent").prepend("<li>我是添加的元素</li>"));
})

image-20240302184327646

3、after() 之后插入 (该元素的外面)

$("#add").click(function () {
  console.log($("#parent").after("<li>我是添加的元素</li>"));
})

image-20240302184421427

4、before() 之前插入 (该元素的外面)

$("#add").click(function () {
  console.log($("#parent").before("<li>我是添加的元素</li>"));
})

image-20240302184507756

5、remove() 删除元素 (包括自己)

  • 删除自己和自己的子元素
  • 删除以后不占位置
$("#add").click(function () {
  console.log($("#parent").remove());
})

6、empty() 删除元素(自己本身不删除)

  • 删除自己的子元素
  • 自己本身不删除
$("#add").click(function () {
  console.log($("#parent").empty());
})//parent不删除  里面的都删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/422854.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL:错误ERROR 1045 (28000)详解

1.问题说明 有时候我们登录Mysql输入密码的时候&#xff0c;会出现这种情况&#xff1a; mysql -u root -p Enter Password > ‘密码’ 错误&#xff1a;ERROR 1045 (28000): Access denied for user ‘root’‘localhost’ (using password: YES) 或者&#xff1a;错误…

CTFHUB--文件包含漏洞--RCE

文件包含漏洞 文件包含漏洞也是一种注入型漏洞&#xff0c;其本质就是输入一段用户能够控制的脚本或者代码&#xff0c;并让服务端执行。有时候由于网站功能需求&#xff0c;会让前端用户选择要包含的文件&#xff0c;而开发人员又没有对要包含的文件进行安全考虑&#xff0c;…

修改centos7的dns解决docker拉取镜像超时问题

近期在一台centos7的服务器上部署系统&#xff0c;拉取docker镜像时总是超时&#xff0c;如图所示。网上有教程说&#xff0c;可以修改操纵系统的dns地址&#xff0c;试了一下&#xff0c;果然搞定。 打开dns配置文件 sudo vi /etc/resolv.conf发觉里面的地址设为114.114.114…

Unity铰链四杆机构设计和运动仿真

一、效果图 设定好各边长度和转速后&#xff0c;点击【设置并启动】&#xff0c;自动生成一个机构模型&#xff0c;并按照原理进行运转 二、铰链四杆机构介绍 机架&#xff1a;A和D是固定位置&#xff0c;叫做机架。 曲柄&#xff1a;B点绕A点旋转&#xff0c;构成曲柄。 连…

什么是VR数字文化遗产保护|元宇宙文旅

VR数字文化遗产保护是指利用虚拟现实&#xff08;VR&#xff09;技术来保护和传承文化遗产。在数字化时代&#xff0c;许多珍贵的文化遗产面临着自然衰退、人为破坏或其他因素造成的威胁。通过应用VR技术&#xff0c;可以以全新的方式记录、保存和展示文化遗产&#xff0c;从而…

sqlserver 改变decimal 精度

遇到需要修改精度的业务场景: 可能是数据库存的精度和小数位太多,需要减少: 比较全能的CAST转换: CAST(你的字段 AS DECIMAL(38,10)) ↓ CAST(你的字段 AS DECIMAL(38,2)) 在 SQL Server 中&#xff0c;decimal 数据类型通常使用两个参数来定义其精度和小数位数。这两个…

MySQL进阶:视图存储过程存储函数触发器

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位大四、研0学生&#xff0c;正在努力准备大四暑假的实习 &#x1f30c;上期文章&#xff1a;MySQL进阶&#xff1a;大厂高频面试——各类SQL语句性能调优经验 &#x1f4da;订阅专栏&#xff1a;MySQL进阶 希望文章对你们有…

leetcode 3.1

leetcode hot 100 双指针1.三数之和2.接雨水 多维动态规划1.最长公共子序列 双指针 1.三数之和 三数之和 排序 双指针的方法&#xff0c;固定一个数nums[i], 用两数和找target - nums[i] 的数需要注意两点: 1.需要去掉重复数字 while (l < r && nums[l] nums[…

【Numpy】成功解决AttributeError: ‘Tuple‘ object has no attribute ‘shape‘

【Numpy】成功解决AttributeError: ‘Tuple’ object has no attribute ‘shape’ &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&…

Java+SpringBoot+Vue:招生宣传的全栈解决方案

✍✍计算机毕业编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java、…

linux系统Jenkins工具配置webhook自动部署

Jenkins工具webhook自动部署 webhook自动部署webhook的意义操作流程jenkins页面操作gitlab页面操作 webhook自动部署 webhook的意义 自动化部署&#xff1a;Webhook 可以在代码提交、合并请求或其他特定事件发生时自动触发 Jenkins 构建和部署任务&#xff0c;从而实现自动化…

【Spring Boot 源码学习】BootstrapRegistry 初始化器实现

《Spring Boot 源码学习系列》 BootstrapRegistry 初始化器实现 一、引言二、往期内容三、主要内容3.1 BootstrapRegistry3.2 BootstrapRegistryInitializer3.3 BootstrapRegistry 初始化器实现3.3.1 定义 DemoBootstrapper3.3.2 添加 DemoBootstrapper 四、总结 一、引言 前面…

[机缘参悟-160] :人的感知系统是及其有限的,从电磁波的频谱、声波的声谱,看人类只看感知到物质世界的一小部分,无法感知到全部真相

目录 一、人自身是如何感知物质世界的&#xff1f; 1.1 五官 1.2 关于视觉、光、电磁波 1.2.1 视觉系统 1.2.2 感光细胞 ​编辑 1.2.3 光波与人眼的光波范围 1.2.4 电磁波 1.2.5 通过科学仪器和技术可以拓展人对电磁波的感知 1.2.6 太阳光的光谱 1.2.6 光不仅仅用于…

安卓虚拟机ART和Dalvik

目录 一、JVM和Dalvik1.1 基于栈的虚拟机字节码指令执行过程 1.2 基于寄存器的虚拟机 二、ART与Dalvikdex2aotAndroid N的运作方式 三、总结 一、JVM和Dalvik Android应用程序运行在Dalvik/ART虚拟机&#xff0c;并且每一个应用程序对应有一个单独的Dalvik虚拟机实例。 Dalvik…

GO泛型相关

通过引入 类型形参 和 类型实参 这两个概念&#xff0c;我们让一个函数获得了处理多种不同类型数据的能力&#xff0c;这种编程方式被称为 泛型编程。 2. Go的泛型 类型形参 (Type parameter)类型实参(Type argument)类型形参列表( Type parameter list)类型约束(Type constr…

50 vmalloc 的实现

前言 这里说的是 内核中分配按页分配的场景 常用于 驱动什么的, 分配 中大型空间 由于 连续的 n 个页是分别使用 alloc_pages 分配的, 因此是 虚拟地址空间连续, 但是 物理地址空间不连续 如何分配对象 两个步骤, __get_vm_area_node 获取为 size 分配的 vma 区间, 然后…

Spark(1)-wordCount入门

1. 创建Maven项目 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/P…

java 基础(核心知识搭配代码)

前言 java的学习分为了上部分以及下部分进行学习&#xff0c;上部分就是对于java的基础知识&#xff0c;面向对象上&#xff0c;面向对象下&#xff0c;异常操作&#xff0c;javaApi&#xff1b;下部主要是集合&#xff0c;泛型&#xff0c;反射&#xff0c;IO流&#xff0c;J…

用冒泡排序模拟C语言中的内置快排函数qsort!

目录 ​编辑 1.回调函数的介绍 2. 回调函数实现转移表 3. 冒泡排序的实现 4. qsort的介绍和使用 5. qsort的模拟实现 6. 完结散花 悟已往之不谏&#xff0c;知来者犹可追 创作不易&#xff0c;宝子们&#xff01;如果这篇文章对你们有帮助的话&#xff0c;别忘了给个免…

逻辑回归与决策边界解析

目录 前言1 逻辑回归基础1.1 Sigmoid函数&#xff1a;打开分类之门1.2 决策函数&#xff1a;划定分类界限1.3 逻辑回归详解 2 决策边界2.1 线性决策边界2.2 非线性决策边界2.3 决策边界的优化 3 应用与实例3.1 垃圾邮件分类&#xff1a;精准过滤3.2 金融欺诈检测&#xff1a;保…