jQuery元素操作和尺寸位置

news2025/2/28 23:26:49

1. 遍历元素

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../jQuery.min.js"></script>
</head>

<body>
    <div>1</div>
    <div>2</div>
    <div>3</div>
    <!-- 
        1. $("div").each( function(index, dom ) {  }); 
        2. $.each($("div"), function(index, dom) {  }); 
        3. 遍历dom对象, 用$("div").each(); 
           遍历数组, 对象等, 使用$.each(); 
        $().each():以每一个匹配的元素作为上下文来执行一个函数; 
        $.each():  它是一个工具, 不同于遍历jQuery对象的 $().each()方法,此方法可用于遍历任何对象; 

        $().each():>    在dom处理上面用的较多
        $.each():>      通常用来遍历数组或对象
     -->
    <script>
        var arr = ["red", "green", "purple"];
        $(function () {
            //1. each方法:遍历元素
            $("div").each(function (index, dom) {
                console.log(index);                 //索引号
                console.log(dom);                   //dom元素对象
                $(dom).css("color", "red");         //dom对象转换为jQuery对象($(dom))
                $(dom).css("color", arr[index]);    //
            });
            console.log('---------------------');
            

            
            //2. $.each()遍历: 主要用来遍历数据,处理数据, 遍历所有对象
            // console.log($("div"));
            $.each($("div"), function (index, dom) {
                console.log(index);
                console.log(dom);
            });
            console.log('---------------------');


            //3. $.each()很好的遍历数组
            $.each(arr, function (index, ele) {
                console.log(index);
                console.log(ele);
            }); 
            console.log('---------------------');

            //4. $.each()遍历对象
            $.each({ name: 'XingWei', age: 23 }, function (index, ele) {
                console.log(index);
                console.log(ele);
            }); 
        }); 
    </script>
</body>

</html>

2. 元素操作

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="../jQuery.min.js"></script>
</head>

<body>
    <ul>
        <li>原先的li</li>
    </ul>
    <div class="test">原先的div</div>
    <p>我是段落</p>
    <!-- 
        1. $(); 
        2. append() / prepend();      // 向每个匹配的元素内部追加内容
        3. after() / before();        // 在每个匹配的元素之后/之前插入内容
        3. remove(); 
        4. empty(); 
     -->
    <script>
        $(function () {
            // 1.创建元素: $('标签')
            var li = $("<li>动态创建的li</li>");


            // 2.添加元素: 
                // (1) 内部添加 append, prepend ; 
            // $("ul").append(li);
            $("ul").prepend(li);
            $("p").append($("<span>HelloWorld</span>"));            //将span追加到了p的内部的后面
            $("p").prepend($("<span>Before, HelloWorld</span>"));   //将span追加到了p的内部的前面(F12即可知道)

                // (2) 外部添加 after, before ; 
            var div = $("<div>动态创建的div</div>");
            // $(".test").after(div);
            $(".test").before(div);


            
            // 3.删除元素
            // $("ul").remove();   // 删除自身
            // $("ul").empty();    // 删除它的孩子
            // $("ul").html("");   // 同上
        });
    </script>
</body>

</html>

3. 尺寸

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        div {
            width: 200px;
            height: 200px;
            background-color: pink;
            padding: 10px;
            border: 15px solid red;
            margin: 20px;
        }
    </style>
    <script src="../jQuery.min.js"></script>
</head>

<body>
    <div></div>
    <!-- 
        jQuery尺寸:
            1. width() / height():                      只是 width, height; 
            2. innerWidth() / innerHeight():            包含了 padding; 
            3. outerWidth() / outerHeight():            包含了 padding + border; 
            4. outerWidth(true) / outerHeight(true):    包含了 padding + border + margin; 
     -->
    <script>
        $(function() {
            // 1. width() / height() 
            console.log($("div").width());              //200px

            // 2. innerWidth() / innerHeight()  
            console.log($("div").innerWidth());         //220px 

            // 3. outerWidth()  / outerHeight() 
            console.log($("div").outerWidth());         //250px

            // 4. outerWidth(true) / outerHeight(true) 
            console.log($("div").outerWidth(true));     //290px
        })
    </script>
</body>

</html>

4. 位置

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        
        .father {
            width: 400px;
            height: 400px;
            background-color: pink;
            margin: 100px;
            overflow: hidden;
            position: relative;
        }
        
        .son {
            width: 150px;
            height: 150px;
            background-color: purple;
            position: absolute;
            left: 10px;
            top: 10px;
        }
    </style>
    <script src="../jQuery.min.js"></script>
</head>

<body>
    <div class="father">
        <div class="son"></div>
        
    </div>
    <!-- 
        位置主要有3个:
            offset(), position(), scrollTop() / scrollLeft(); 
            1. offset():    获取或设置被选择元素相对于文档的偏移量,与父级没有任何关系; (返回一个坐标对象)
                            获取匹配元素在当前视口的相对偏移; 
            2. position():  获取(只能获取, 不能设置)被选择元素相对于带有定位的父级的偏移坐标, 如果父级都没有定位, 则以文档为主; 
     -->
    <script>
        $(function() {
            // 1. 获取或设置距离文档的位置(偏移) offset
            console.log($(".son").offset());        
            console.log($(".son").offset().top);
            $(".son").offset({
                // top: 200,
                // left: 200
            });


            // 2. 获取距离带有定位父级位置(偏移) position   如果没有带有定位的父级,则以文档为准
            // 这个方法只能获取不能设置偏移
            console.log($(".son").position());

            // $(".son").position({
            //     top: 200,
            //     left: 200
            // });      //只是获取, 设置则无效 
        })
    </script>
</body>

</html>

5. scroll系列

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        body {
            height: 2000px;
        }

        .back {
            position: fixed;
            width: 50px;
            height: 50px;
            background-color: pink;
            right: 30px;
            bottom: 100px;
            display: none;
        }

        .container {
            width: 900px;
            height: 500px;
            background-color: skyblue;
            margin: 200px auto;
        }
    </style>
    <script src="../jQuery.min.js"></script>
</head>

<body>
    <div class="back">返回顶部</div>
    <div class="container">
    </div>
    <!-- 
        scrollTop() / scrollLeft(): 
            scrollTop():    获取匹配元素相对滚动条顶部的偏移; 
            scrollLeft():   获取匹配元素相对滚动条左侧的偏移; 
     -->
    <script>
        $(function () {
            $(document).scrollTop(100);           
            var boxTop = $(".container").offset().top;
            // console.log(boxTop);    // 200
            $(window).scroll(function () {                  // 页面滚动事件
                console.log($(document).scrollTop());       // 
                if ($(document).scrollTop() >= boxTop) {
                    $(".back").fadeIn();
                } else {
                    $(".back").fadeOut();
                }
            });
            // 返回顶部按钮
            $(".back").click(function () {
                // $(document).scrollTop(0);            // 方式1-无动画

                $("body, html").stop().animate({        // 方式2-动画
                    scrollTop: 0
                });

                // $(document).stop().animate({
                //     scrollTop: 0
                // }); 不能是文档而是 html和body元素做动画, 这么写是错误的
            })
        })
    </script>
</body>

</html>

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Kubernetes_核心组件_kubelet_kubelet服务全解析

文章目录 前言一、查看kubelet当前运行1.1 查看kubelet当前运行1.2 kubelet配置文件1.3 kubelet启动参数文件1.4 kubelet启动全过程 (自定义启动参数文件) 二、kubelet启动过程2.1 kubelet启动过程2.2 自定义kubelet所有文件并运行步骤1&#xff1a;新建静态token文件和user&am…

Fourier分析入门——第11章——Fourier变换

目录 第11章 Fourier变换(Transform) 11.1 引言 11.2 逆向正弦和余弦变换(The Inverse Cosine and Sine Transforms) 11.3 正向正弦和余弦变换(The Forward Cosine and Sine Transforms) 11.4 离散谱对比谱密度(Discret spectra vs. spectral density) 11.5 Fourier变换的…

chatgpt赋能python:Python中4.5/2等于多少?——解密Python的除法运算

Python中4.5/2等于多少&#xff1f;——解密Python的除法运算 Python作为一种常用的编程语言&#xff0c;在业界有着广泛的应用。而除法是Python中常用的运算之一。但是&#xff0c;当我们输入4.5/2时&#xff0c;会得到什么样的结果呢&#xff1f;这篇文章将解密Python的除法…

Spring Boot:从入门到实践的全面指南

文章目录 1. Spring Boot简介及特性1.1 简介&#xff1a;什么是Spring Boot1.2 特性&#xff1a;Spring Boot的优势与特点1.3 四大核心&#xff1a;Spring Boot的核心组成 2. Spring Boot入门案例2.1 Spring Boot项目开发步骤2.2 创建一个Spring MVC的Spring Boot Controller2.…

chatgpt赋能python:Python不能参加奥赛的原因

Python不能参加奥赛的原因 Python 是一种广泛使用的高级编程语言&#xff0c;以其简单易学、可读性高等特点受到了众多程序员的喜爱&#xff0c;但是它在国际奥林匹克竞赛中并不被允许参赛。本文将会介绍 Python 不能参加奥赛的原因&#xff0c;并且分析该限制是否合理。 原因…

使用 GitHub Actions 自动部署 Hexo 个人博客

文章目录 申请 GitHub Token源码仓库配置 Github Action重新设置远程仓库和分支查看部署 每次部署 Hexo 都需要运行 hexo cl & hexo g & hexo d 指令三件套完成推送到远程仓库&#xff0c;随着文章越来越多&#xff0c;编译的时间也会越来越长&#xff0c;通过 Github …

前缀树概念

前缀树&#xff08;prefix tree&#xff09; 准备一个Str[]&#xff0c;数组中元素有[“abc”,“bcd”,“abg”,“bcde”,“qwe”]&#xff0c;如何将数组中元素加到树中呢&#xff1f; 从最开始的字符串abc说&#xff0c;第一个字符是a&#xff0c;从一个空的头节点出发&#…

jQuery属性操作和内容文本值

1. 属性操作 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width,…

全局CSS样式1

1. 响应式基础 1.1 init <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"X-UA-Compati…

chatgpt赋能python:Python两行三列列表:更高效的数据展示方式

Python 两行三列列表&#xff1a;更高效的数据展示方式 在Python编程中&#xff0c;经常会需要对数据进行展示。而最常见的方式则是使用列表。然而&#xff0c;当数据量较大时&#xff0c;传统的列表显示方式显得过于冗长。Python两行三列列表的使用&#xff0c;不仅可以增加代…

chatgpt赋能python:Python不挂科,学会这些技能就足够

Python不挂科&#xff0c;学会这些技能就足够 Python已成为现代编程语言中最受欢迎的一种&#xff0c;它擅长处理数据、人工智能等复杂的软件开发任务。互联网时代的到来也让Python的使用场景更加广泛&#xff0c;从前后端开发到数据分析。无论是学习Python的初学者还是有一定…

MQTT(3):MQTT协议原理

官方文档中对于MQTT协议包的结构有着具体的说明&#xff1a;http://mqtt.org/documentation 在MQTT协议中&#xff0c;一个MQTT数据包由&#xff1a;固定头&#xff08;Fixed header&#xff09;、可变头&#xff08;Variable header&#xff09;、消息体&#xff08;payload&…

chatgpt赋能python:介绍Python在SEO中的重要性

介绍Python在SEO中的重要性 随着互联网的不断发展&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;变得越来越重要。SEO一直是网络营销的重要组成部分&#xff0c;可以增加网站的可见性和流量。Python作为一种强大的编程语言&#xff0c;可以帮助网站优化人员更好地管理和…

LIMA和QLoRA论文解读

《LIMA: Less Is More for Alignment》 paper: https://arxiv.org/abs/2305.11206 Meta在2023年5月发布了论文《LIMA: Less Is More for Alignment》&#xff0c;基于LLaMa-65B微调了大模型LIMA&#xff0c;号称只用了1000个精心策划的问题和答复进行微调&#xff0c;就达到了…

HashMap 1.8全流程分析,详解put、resize、遍历等相关函数。以及其内部的二进制原理

简介 从常用属性->构造方法->添加->扩容->查询->删除->遍历的顺序进行HashMap源码阅读&#xff0c;涉及到一些二进制的用法以及意义也会进行说明。 HashMap源码解析 简介 HashMap采用了hash 表的数据结构进行实现&#xff0c;在key未存在hash冲突的情况下&…

Games104现代游戏引擎学习笔记09

Animation Blending 两个动画衔接 Math of blending&#xff1a;LERP&#xff1a;线性插值 在两个动画之间取关键帧插值 weight1weight2等于1 两个动画必须都是循环的&#xff0c;归一化之后能一致 Blend Space 在采用空间里的所有动画&#xff08;clips&#xff09;&#xf…

FastThreadLocal 原理解析

FastThreadLocal 每个 FastThread 包含一个 FastThreadLocalMap&#xff0c;每个 FastThreadLocalThread 中的多个 FastThreadLocal 占用不同的索引。每个 InternalThreadLocalMap 的第一个元素保存了所有的 ThreadLocal 对象。之后的元素保存了每个 ThreadLocal 对应的 value …

微服务架构之RPC调用

在单体应用时&#xff0c;一次服务调用发生在同一台机器上的同一个进程内部&#xff0c;也就是说调用发生在本机内部&#xff0c;因此也被叫作本地方法调用。在进行服务化拆分之后&#xff0c;服务提供者和服务消费者运行在两台不同物理机上的不同进程内&#xff0c;它们之间的…

Segment Anything——论文笔记

home page&#xff1a;segment-anything.com code&#xff1a;segment-anything 1. 概述 介绍&#xff1a;SAM是最近提出的一种通用分割大模型&#xff0c;其表现出了强大的零样本泛化能力&#xff0c;视觉感知模型的通用化又前进了一步。为了达到文章标题字面意义“segment a…

chatgpt赋能python:Python下载PyQt5教程

Python下载PyQt5教程 简介 PyQt5是一款Python编程语言的GUI框架&#xff0c;它基于QT库&#xff0c;专门用于开发图形界面应用程序。PyQt5可以实现跨平台开发&#xff0c;可在Windows&#xff0c;MacOS和Linux操作系统上运行。本文将介绍如何下载PyQt5&#xff0c;并在Python…