首页 > 其他分享 >前端(六)

前端(六)

时间:2023-04-18 21:24:46浏览次数:30  
标签:jQuery jquery 前端 元素 var div id

前端(六)

事件

// 用的地方非常多,需要掌握,但是不需要全部掌握。事件就是达到某个触发条件,自动触发的动作

常用事件:
	1. onclick        当用户点击某个对象时调用的事件句柄。
    2. onfocus        元素获得焦点。
    3. onblur         元素失去焦点。  
    4. onchange       域的内容被改变。
    5. onl oad         一张页面或一幅图像完成加载。
    6. onm ouseout     鼠标从某元素移开。
    7. onm ouseover    鼠标移到某元素之上。

事件绑定

<button onclick="fun()">点击</button>  
<script>
    function fun(){  // 第一种绑定方式
        alert(123);
    }
</script>
////////////////////////////////////////////////////////////////////
btn.onclick = function (){  // 用的最多的绑定方式
        alert(123)
}
////////////////////////////////////////////////////////////////////
eg:
<head>
    <script>
        window.onload = function (){  // 等待浏览器全部加载完毕才执行
            btn.onclick = function (){  
                alert(123)
            }
        }
	</script>
</head>
///////////////////////////////////////////////////////////////////
eg2:
<style>
        .c1 {
            width: 100px;
            height: 100px;
            border-radius: 50%;
        }
        .bg_red {
            background: red;
        }
        .br_blue{
            background: blue;
        }
</style>

<body>
<p class="c1 bg_red br_blue"></p>
<button id="btn">点击</button>
<script>
    var btn = document.getElementById('btn')
    var p = document.getElementsByClassName('c1')[0]
    btn.onclick = function (){  // 每次点击时生效
        p.classList.toggle('br_blue')  // 存在则删除,不在则添加
    }
</script>
</body>

///////////////////////////////////////////////////////////////////

eg3:
<body>
<input type="text" id="inp1" value="什么勾八">
<script>
        var inp = document.getElementById('inp1');
        inp.onfocus = function (){  // 获得焦点
            this.value = '小鸡仔';
        }
        inp.onblur = function (){  // 失去焦点
            this.value = '什么勾八';  
        }
</script>
</body>

///////////////////////////////////////////////////////////////////

eg4:
<body>
<select name="" id="pro">

</select>
<select name="" id="city">

</select>
<script>
    var pro = document.getElementById('pro');  
    var city = document.getElementById('city');
    var date = {
        "安徽": ['宣城', '合肥', '芜湖'],
        '江苏': ['南京', '常州', '徐州'],
        '浙江': ['杭州', '湖州', '台州'],
    }

    for (var i in date) {
        var op = document.createElement('option');
        op.innerText = i;
        op.value = i;
        pro.appendChild(op)  // 添加option
    }
    pro.onclick = function () {
        city.innerText = '';  // 将下拉框清空
        var current_pro = pro.value;
        var current_city_list = date[current_pro];
        for (var i=0; i<current_city_list.length;i++){
            var op = document.createElement('option');
            op.innerText = current_city_list[i];
            op.value = current_city_list[i];
            city.appendChild(op);  // 添加option
        }
    }

</script>
</body>

jQuery

# js的类库,封装了很多js代码,并且增加了很多功能,相当于python中的模块
# 使用jQuery可以更少写js代码,jQuery是对js的一个封装

jQuery的介绍
"""
	1. 轻量级,兼容多浏览器的js库,使用时不需要担心兼容性
	2. 宗旨write less,do more
	3. 要用jQuery必须下载使用,然后引入html文档
	4. 下载的jQuery文件大小只有几十kb,几乎不影响加载速度
"""
jQuery的内容
"""
	1. 选择器
    2. 筛选器
    3. 样式操作
    4. 文本操作
    5. 属性操作
    6. 文档处理
    7. 事件
    8. 动画效果
    9. 插件
    10. each、data、Ajax(放在Django中学---》重要)
"""
jQuery版本
"""
	1.x
    2.x
    3.x # 直接学习最新版本
"""
jQuery文件去哪里下载?
"""
	1. 去官网:https://jquery.com/
    2. 第三方:https://jquery.cuishifeng.cn/index.html
    3. bootcdn网站下载:https://cdn.bootcdn.net/ajax/libs/jquery/3.6.4/jquery.min.js
    4. 使用jquery文件有两种方式:
        1、 把文件下载下来,离线使用
        2、 不下载,直接通过cdn链接使用(你的电脑必须有网)
    5. 下载。
"""
jquery基本使用
"""
    jQuery("selector").action()
    jQuery("#d1").css('color', 'red');
    # jQuery === $
	jQuery("#d1").css('color', 'red');=============>$("#d1").css('color', 'red')
"""

重要:要想使用jQuery文件,必须确保已经导入到文档了

基本选择器

1. id			$("#id")
2. class		$(".className")
3. 标签选择器     $("tagName")

标签对象和jQuery对象

var h1 = $("#h1");  // S.fn.init(1) =================> 它是jquery对象,标签对象
# 两个对象之间可以进行互相转换
query对象转为标签对象:    	# 直接通过下标取值
标签对象如何转为jquery对象:document.getElementById('id')================>$(document.getElementById('id'));
'''jquery对象,可以使用jquery封装的很多方法'''

其他选择器

$(".c1")-------------->具有class=c1的所有标签
$("div.c1")-------------->具有class=c1的div标签

基本筛选器

:first # 第一个
:last # 最后一个
:eq(index)# 索引等于index的那个元素
:even # 匹配所有索引值为偶数的元素,从 0 开始计数
:odd # 匹配所有索引值为奇数的元素,从 0 开始计数
:gt(index)# 匹配所有大于给定索引值的元素
:lt(index)# 匹配所有小于给定索引值的元素
:not(元素选择器)# 移除所有满足not条件的标签
:has(元素选择器)# 选取所有包含一个或多个标签在其内的标签(指的是从后代元素找)

属性选择器

[attribute]
[attribute=value]  # 属性等于
[attribute!=value]  # 属性不等于

表单筛选器

:text  # 文本
:password  # 密码
:file  # 文件
:radio  # 单选框
:checkbox  # 复选框

:submit  # 提交按钮
:reset  # 重置按钮
:button  # 按钮

<select id="s1">
  <option value="beijing">北京市</option>
  <option value="shanghai">上海市</option>
  <option selected value="guangzhou">广州市</option>
  <option value="shenzhen">深圳市</option>
</select>

$(":selected")  # 找到所有被选中的option


$(':checked')  # 它会将checked和selected都拿到
$(':selected')  # 它不会 只拿selected
$('input:checked')  # 自己加一个限制条件

筛选器方法

# 下一个元素
$("#id").next()
$("#id").nextAll()
$("#id").nextUntil("#i2")

# 上一个元素
$("#id").prev()
$("#id").prevAll()
$("#id").prevUntil("#i2")

# 父亲元素:
$("#id").parent()

# 儿子元素
$("#id").children();// 儿子们
var div = $('#d1').children()[0];
console.log(div);

# 查找
$("div").find("p")----------------->等价于$("div p")
$(".c1").find("a")----------------->等价于$(".c1 a")

# 补充:
.first() // 获取匹配的第一个元素
  	$('div span:first')-------------->$('div span').first()
.last() // 获取匹配的最后一个元素
      $('div span:last')----------------->$('div span').last()
.not() // 从匹配元素的集合中删除与指定表达式匹配的元素
      $('div span:not("#d3")') --------------->$('div span').not('#d3')
.has() // 保留包含特定后代的元素,去掉那些不含有指定后代的元素。
.eq() // 索引值等于指定值的元素

样式操作

classList.add()------------------>addClass();// 添加指定的CSS类名。
classList.reomve()----------------->removeClass();// 移除指定的CSS类名。
classList.containes()------------------>hasClass();// 判断样式存不存在
classList.toggle()--------------->toggleClass();// 切换CSS类名,如果有就移除,如果没有就添加。

CSS操作

$("p").css("color", "red");   # 添加一个样式
$("p").css("color", "red").css('','').css('','');   # 添加多个样式

文本操作(掌握)

innerHTML--------------->html()// 取得第一个匹配元素的html内容
html(val)// 设置所有匹配元素的html内容

text()// 取得所有匹配元素的内容
text(val)// 设置所有匹配元素的内容

val()// 取得第一个匹配元素的当前值
val(val)// 设置所有匹配元素的值
val([val1, val2])// 设置多选的checkbox、多选select的值

标签:jQuery,jquery,前端,元素,var,div,id
From: https://www.cnblogs.com/juzixiong/p/17331154.html

相关文章

  • vue前端实现上传文件,vue 上传文件
     以ASP.NETCoreWebAPI 作后端 API ,用 Vue 构建前端页面,用 Axios 从前端访问后端 API,包括文件的上传和下载。 准备文件上传的API #region文件上传可以带参数[HttpPost("upload")]publicJsonResultuploadProject(IFormFilefile,stringuserI......
  • 打印pdf 前端请求数据并打印pdf文件
    1、参考vue接收后端传来的pdf文件流,前端调用预览PDF2、原理3、代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>pdf</title></head><div><inputstyle="display:none&q......
  • 比较几种热门Hybrid App前端框架
    作为一种既能够在原生应用程序环境中运行,也能够在Web浏览器中运行的应用程序,HybridApp 主要使用Web技术进行开发,如HTML、CSS和JavaScript,并使用一个中间层将其封装在原生应用程序中。随着技术的持续推进,HybridApp相关的前端框架也应运而生。今天就来比较几种混合应用前......
  • 前端(四)
    前端(四)浮动#标签一浮动,就不分块标签和行内标签div{/*float:left;*/#往左浮float:right;#往右}浮动带来的影响#父标签塌陷#在块级标签内的浮动可能会导致父标签塌陷,解决方式可以用以下:#d2{clear:left;/*在父块下,定义一个新块,然后......
  • 前端沙箱利用这些特性实现代码的隔离与限制
    ​随着Web技术的不断发展,前端沙箱也在不断的演进和发展。未来,前端沙箱将更加智能化和自适应,可以根据代码的特征和行为动态调整运行环境,从而提高运行效率和安全性。名词解释:沙箱也称作:“沙盒/沙盘”。沙箱是一种安全机制,为运行中的程序提供隔离环境。通常是作为一些来源不可信......
  • 若依前端后端分离 代码生成修改(1)
    模板引擎修改2023年3月7日9:26主要配置参数的引用和定义表字段.vm模板:参数名使用位置(.vm模板文件中)前端表单表头默认值来源db表:gen_tablepackageNamepackage${packageName}.controller;生成包路径配置文件Package_nameClassName和class......
  • 字节前端第一讲
    第一点是关于信息是如何传到其他的地方:视频中是用蟹煲皇帝国来进行说明:一旦多个地方都需要信息的共享,所以就需要转发表格来进行一个消息的交换,而这就是通信线路。我们试想如果有太多了用户。如果还是单一的简单的交互,没有其他的操作,那么会使得时间很慢,因为要传送信息的地方间距......
  • web前端tips:ES6部分常用新特性介绍
    ES6(ECMAScript6,也称为ES2015)是JavaScript的一个重要更新版本,于2015年发布。它引入了许多新的语言特性和改进,使得JavaScript变得更加现代化、易读、易维护和更适合大型应用程序的开发。ES6主要的新特性包括:1.块级作用域:ES6引入了let和const关键字,可以用来声明块级作用域的变量和......
  • 第三章、web前端架构师
    目录四、脚手架命令注册和执行过程开发1、四、脚手架命令注册和执行过程开发1、......
  • FinClip 与 uniapp:轻应用平台与前端开发框架
    原文地址juejin.cnFinClip背后的产品经理发现很多开发者或业务部门的朋友,在刚了解到FinClip的时候,都会好奇FinClip能解决怎样的问题,也会经常将FinClip与uni-app进行对比考虑二者的区别与优劣势。因此在本文中,FinClip的产品经理会和我们深入地探讨FinClip与uni-app之......