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或bindmousedown: 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 表单中的不能用attrconsole.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不删除  里面的都删除

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是Vue指令?请列举一些常见的Vue指令以及它们的用法

Vue.js 是一款流行的前端框架&#xff0c;它的指令&#xff08;Directives&#xff09;是 Vue.js 提供的一种特殊属性&#xff0c;用于在模板中对 DOM 元素进行直接操作。指令通常是以 v- 开头的特殊属性&#xff0c;用于响应式地将数据绑定到 DOM 元素上。 在 Vue 中&#xf…

#WEB前端

1.实验&#xff1a;vscode安装&#xff0c;及HTML常用文本标签 2.IDE&#xff1a;VSCODE 3.记录&#xff1a; &#xff08;1&#xff09;网页直接搜索安装vscode &#xff08;2&#xff09;打开vscode&#xff0c;在下图分别安装以下插件&#xff1a; Html Css Support …

机器学习:模型选择和模型优化

进行数据处理之后&#xff0c;我们得到了x_train和y_train&#xff0c;我们就可以用来进行回归或分类模型训练啦~ 一、模型选择 我们这里可能使用的是回归模型&#xff08;Regression&#xff09;&#xff0c;值得注意的是&#xff0c;回归和分类不分家。分类是预测离散值&…

【leetcode】用队列实现栈

大家好&#xff0c;我是苏貝&#xff0c;本篇博客带大家刷题&#xff0c;如果你觉得我写的还不错的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 点击查看题目 思路: 在做此题之前&#xff0c;我们先要实现队列&#xff0c;这在上个博客中已经写过&#…

浅析 explicit 关键字

浅析 explicit 关键字 文章目录 浅析 explicit 关键字前言案例剖析补充案例总结 前言 ​ C 提供了多种方式来实现类型转换和构造对象&#xff0c;然而&#xff0c;有时候这些方式会导致一些意想不到的结果&#xff0c;比如隐式转换和复制初始化。为了避免这些潜在的问题&#…

【兔子机器人】根据自身机器人参数修改simulink模型

关节电机 机体初始高度 &#xff01;&#xff01;&#xff01;接下来尝试修改各腿的坐标朝向

黑马JavaWeb开发跟学(三)Web前端开发Vue-Element

黑马JavaWeb开发跟学三.Web前端开发Vue-Element 1 Ajax1.1 Ajax介绍1.1.1 Ajax概述1.1.2 Ajax作用1.1.3 同步异步 1.2 原生Ajax1.3 Axios1.3.1 Axios的基本使用1.3.2 Axios快速入门1.3.3 请求方法的别名1.3.4 案例 2 前后台分离开发2.1 前后台分离开发介绍2.2 YAPI2.2.1 YAPI介…

解决Java并发问题的常见思路

写在文章开头 近期对一些比较老的项目进行代码走查&#xff0c;碰到一些极端的并发编程恶习&#xff0c;所以笔者就基于此文演示这类问题以及面对并发编程时我们应该需要了解一些常见套路。 Hi&#xff0c;我是sharkChili&#xff0c;是个不断在硬核技术上作死的java coder&am…

实战:Oracle Weblogic 11g 安装部署(10.3.6.0)

导读 本文介绍在redhat linux 6.6上安装Oracle weblogic 11g&#xff08;10.3.6.0&#xff09;版本 环境&#xff1a;redhat6.6 jdk 1.7 1、下载webLogic10.3.6 http://www.oracle.com/technetwork/cn/middleware/weblogic/downloads/wls-main-091116-zhs.html2 、在linux的ro…

数的范围 刷题笔记

思路 寻找第一个大于等于目标的 数 因为该数组是升序的 所以 我们可以采用二分的方式 逼近答案 定义一个左指针和一个右指针 当左右指针重合时 就是我们要找的答案 当我们寻找第一个大于等于x的数时 a[mid]>x,答案在mid处 或者在mid的左边 因此让rmid继续逼近 如果…

python:pyecharts 画基金净值 月K线图

pip install pyecharts1.9.1 pyecharts-1.9.1-py3-none-any.whl 我想在本地&#xff08;PC) 画出 基金净值 月K线图&#xff0c;不想每次看图都需联网。 cd my_dir mkdir echarts cd echarts curl -O https://assets.pyecharts.org/assets/echarts.min.js 修改一下开源代码 …

记录一次架构优化处理性能从3千->3万

0.背景 优化Kafka消费入Es&#xff0c;适配600台设备上报数据&#xff0c;吞吐量到达2万每秒 1.环境配置 2.压测工具 3.未优化之前的消费逻辑 4.优化之后的消费流程 5.多线程多ESclient 6.修改ES配置&#xff0c;增加kafka分区&#xff0c;增加线程&#xff0c;提升吞吐量 7.…