【前端面试3+1】08 css选择器、在前端页面展示后端传来的图片数组、请求方法的常见类型、【搜索插入位置】

news2024/12/30 4:28:29

一、css选择器有哪些?

1.元素选择器:

        通过元素名称选择元素。 示例:p 选择所有段落元素。

2.类选择器:

        通过类名选择元素。 示例:.btn 选择所有类名为 btn 的元素。

3.ID选择器:

        通过id属性选择元素。 示例:#header 选择id为 header 的元素。

4.后代选择器:

        选择嵌套在另一个元素内部的元素。 示例:div p 选择所有在 div 元素内的段落元素。

5.子元素选择器:

        选择指定元素的直接子元素。 示例:ul > li 选择所有直接在 ul 元素内的 li 元素。

6.通配符选择器:

        选择所有元素。 示例:* 选择所有元素。

7.属性选择器:

        根据元素的属性值选择元素。 示例:[type="text"] 选择所有 type 属性值为 text 的元素。

  • 属性存在选择器:[attr]
  • 属性值选择器:[attr=value]
  • 子串匹配选择器:[attr~=value]
  • 开头匹配选择器:[attr^=value]
  • 结尾匹配选择器:[attr$=value]
  • 包含选择器:[attr*=value]

8.伪类选择器:

        根据元素的状态选择元素。 示例::hover 选择鼠标悬停在元素上的状态。

  • 链接伪类选择器::link:visited:hover:active:focus
  • 元素状态伪类选择器::first-child:last-child:nth-child(n)

9.伪元素选择器:

        选择元素的特定部分。 示例:::before 在元素内容前插入内容。

  • ::before::after::first-line::first-letter

10.相邻兄弟选择器:

        选择与指定元素相邻的兄弟元素。 示例:h2 + p 选择紧跟在 h2 元素后的 p 元素。

二、如何在前端页面展示后端传来的图片数组?

方一:使用v-for指令来循环渲染多张图片

        在下面的示例中,使用Vue.js框架,通过v-for指令循环遍历imageUrls数组中的图片URL,为每个URL创建一个<img>标签来展示图片

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>展示多张图片</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>
</head>
<body>
    <div id="app">
        <div v-for="(imageUrl, index) in imageUrls" :key="index">
            <img :src="imageUrl" alt="后端传过来的图片">
        </div>
    </div>

    <script>
        new Vue({
            el: '#app',
            data: {
                imageUrls: ['image1.jpg', 'image2.jpg', 'image3.jpg']
            }
        });
    </script>
</body>
</html>

方二:使用JavaScript遍历

        在下面的示例中,我们首先模拟了一个后端传来的图片数组imageUrlsFromBackend,然后使用JavaScript遍历这个数组,为每个图片URL创建一个<img>标签,并将其添加到页面中的imageContainer中,从而展示后端传来的图片数组。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>展示后端传来的图片数组</title>
</head>
<body>
    <div id="imageContainer"></div>

    <script>
        const imageContainer = document.getElementById('imageContainer');

        // 模拟后端传来的图片数组
        const imageUrlsFromBackend = ['image1.jpg', 'image2.jpg', 'image3.jpg'];

        // 遍历图片数组,为每张图片创建一个<img>标签并添加到页面中
        imageUrlsFromBackend.forEach(url => {
            const imgElement = document.createElement('img');
            imgElement.src = url;
            imgElement.alt = '后端传过来的图片';
            imageContainer.appendChild(imgElement);
        });
    </script>
</body>
</html>


三、 请求方法的常见类型有哪些?

1.GET请求

        用于从服务器获取数据,参数附加在URL的末尾,通常用于请求数据而不是发送数据。例如请求页面内容、获取列表数据等。由于GET请求参数会附加在URL上,可以被缓存和收藏,因此在需要获取数据而不涉及敏感信息传输的情况下使用较多。

2.POST请求

        用于向服务器提交数据,数据放在请求体中,通常用于发送数据给服务器进行处理。例如提交表单数据、上传文件等。由于POST请求将数据放在请求体中,不会暴露在URL中,适合传输敏感信息或大量数据。

3.PUT请求

        用于更新服务器上的资源,通常用于更新已存在的资源

4.DELETE请求

        用于删除服务器上的资源,通常用于删除特定资源

5.PATCH请求

        用于对资源进行局部更新,只更新部分字段而不是整个资源。

6.OPTIONS请求

        用于获取服务器支持的HTTP请求方法、跨域请求时的预检请求等。

7.HEAD请求

        类似于GET请求,但只返回响应头信息而不返回实际数据,用于获取资源的元数据信息。

四、【算法】 搜索插入位置

1.题目:       

         给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

2.解题:

(1)方一:二分查找
int searchInsert(int* nums, int numsSize, int target) {
    int left = 0;
    int right = numsSize - 1;
    
    while (left <= right) {
        int mid = left + (right - left) / 2;
        
        if (nums[mid] == target) {
            return mid;
        } else if (nums[mid] < target) {
            left = mid + 1;
        } else {
            right = mid - 1;
        }
    }
    
    return left;
}
(2)方二:线性扫描
int searchInsert(int* nums, int numsSize, int target) {
    for (int i = 0; i < numsSize; i++) {
        if (nums[i] >= target) {
            return i;
        }
    }
    
    return numsSize;
}

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

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

相关文章

Adobe Bridge 2024:连接创意,探索无限可能 mac/win版

Adobe Bridge 2024&#xff0c;作为Adobe家族中的一款强大的创意管理工具&#xff0c;再次革新了数字资产管理和工作流程优化的标准。这款软件不仅继承了Adobe Bridge一贯的直观界面和强大功能&#xff0c;更在多个方面进行了突破性的改进。 Bridge 2024软件获取 全面的资源管…

软考之零碎片段记录(六)+复习巩固

A. 上新 一、关系模式 1. 决定属性 AB->C,函数依赖左侧出现为决定属性 AB->C,函数依赖右侧出现为非决定属性 候选键在决定属性中挑选&#xff0c;AB->C, CD->B中&#xff0c;A,D为侯选建 二、授权SQL 将权限授予用户&#xff08;grant <权限> on&#xf…

Git安装教程(图文安装)

Git Bash是git(版本管理器)中提供的一个命令行工具&#xff0c;外观类似于Windows系统内置的cmd命令行工具。 可以将Git Bash看作是一个终端模拟器&#xff0c;它提供了类似于Linux和Unix系统下Bash Shell环境的功能。通过Git Bash&#xff0c;用户可以在Windows系统中运行基于…

【个人笔记】如何用 Python 编写激活码解锁程序,方法二

目录 前言 第一步&#xff1a;编写激活码解锁程序&#xff08;激活码.py&#xff09; 第二步&#xff1a;修改需要解锁的程序&#xff08;1.py&#xff09; 总结 前言 在软件开发中&#xff0c;有时我们需要设计一种机制来保护程序&#xff0c;例如通过激活码来控制程序的…

【MySQL】:深入解析多表查询(上)

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; MySQL从入门到进阶 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言一. 多表关系1.1 一对多1.2 多对多1.3 一对一 二. 多表查询概述2.1 概述2.2 分类…

C51实现每秒向电脑发送数据(UART的含义)

其实核心的问题是&#xff1a;串口的通信方式 异步串行是指UART&#xff08;Universal Asynchronous Receiver/Transmitter&#xff09;&#xff0c;UART包含TTL电平的串口和RS232电平的串口 UART要实现异步通信的&#xff1a; UART是异步串行接口&#xff0c;通信双方使用时…

2024唐山国际门窗幕墙展览会

2024唐山国际门窗幕墙展览会 2024TangshanInternational Door and Window Curtain Wall Exhibition 2024年6月14-16日 地点&#xff1a;唐山南湖国际会展中心 唐山国际门窗幕墙博览会一 年一届&#xff0c;深耕京津冀核心区域&#xff0c;专注门窗行业高质量 发展&#x…

网络协议——HTTP协议

目录 ​编辑 一&#xff0c;HTTP协议基本认识 二&#xff0c;认识URL 三&#xff0c;http协议的格式 1&#xff0c;发送格式 2&#xff0c;回应格式 四&#xff0c;服务端代码 五&#xff0c;http报文细节 1&#xff0c;Post与Get方法 2&#xff0c;Content_lenth 3&…

基于Springboot的航班进出港管理系统(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的航班进出港管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结…

C++的 stack和queue 的应用和实现【双端队列的理解和应用】

文章目录 stack的理解和应用栈的理解栈的模拟实现string实现stackvector实现stack queue的理解和应用队列的理解队列的模拟实现 双端队列原理的简单理解deque的缺陷为什么选择deque作为stack和queue的底层默认容器STL标准库中对于stack和queue的模拟实现stack的模拟实现queue的…

智能停车场物联网远程监控解决方案

智能停车场物联网远程监控解决方案 智能停车场物联网远程监控解决方案是一种集成了现代物联网技术、大数据分析以及云计算等先进技术手段&#xff0c;对停车场进行全面智能化管理的综合系统。它通过实时感知、精准采集和高效传输各类停车数据&#xff0c;实现对停车场运营状态…

基于Springboot的学校防疫物资管理平台(有报告)。Javaee项目,springboot项目。

演示视频&#xff1a; 基于Springboot的学校防疫物资管理平台&#xff08;有报告&#xff09;。Javaee项目&#xff0c;springboot项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系…

Data-efficient Fine-tuning for LLM-based Recommendation

目录 Introduction 利用大型语言模型&#xff08;LLM&#xff09;进行推荐最近引起了相当大的关注&#xff0c;其中微调在 LLM 的适应中发挥着关键作用。然而&#xff0c;在快速扩展的推荐数据上微调LLMs的成本限制了其实际应用。为了应对这一挑战&#xff0c;小样本微调提供了…

RabbitMQ3.13.x之十_流过滤的内部结构设计与实现

RabbitMQ3.13.x之十_流过滤的内部结构设计与实现 文章目录 RabbitMQ3.13.x之十_流过滤的内部结构设计与实现1. 概念1. 消息发布2. 消息消费 2. 流的结构1. 在代理端进行过滤2. 客户端筛选3. JavaAPI示例4. 流过滤配置5. AMQP上的流过滤6. 总结 3. 相关链接 1. 概念 流过滤的思…

linux练习-交互式传参

在shell脚本中&#xff0c;read 向用户显示一行文本并接受用户输入 #!/bin/bash read -p 依次输入你的姓名、年龄、家乡 name age home echo 我是$name,年龄$age,我来自$home

C++数据结构与算法——二叉树公共祖先问题

C第二阶段——数据结构和算法&#xff0c;之前学过一点点数据结构&#xff0c;当时是基于Python来学习的&#xff0c;现在基于C查漏补缺&#xff0c;尤其是树的部分。这一部分计划一个月&#xff0c;主要利用代码随想录来学习&#xff0c;刷题使用力扣网站&#xff0c;不定时更…

优衣库门店可视化与顾客拜访数据分组-Python数据分析项目

文章目录 项目背景1 引言2 数据说明 一、数据导入及预处理1 数据导入2 数据观察2.1 查看数据形状2.2 检查缺失值2.3 有无重复值 3 数据预处理3.1 获取详细地址3.2 批量获取经纬度3.2.1 安装geopy包3.2.2 批量获取经纬度 二、优衣库门店可视化1 数据获取1.1 读取地点数据1.2 筛选…

c语言数据结构(10)——冒泡排序、快速排序

欢迎来到博主的专栏——C语言数据结构 博主ID&#xff1a;代码小豪 文章目录 冒泡排序冒泡排序的代码及原理快速排序快速排序的代码和原理快速排序的其他排序方法非递归的快速排序 冒泡排序 相信冒泡排序是绝大多数计科学子接触的第一个排序算法。作为最简单、最容易理解的排序…

创新性的智慧公厕技术研发与应用

智慧公厕&#xff0c;作为城市基础设施的重要组成部分&#xff0c;扮演着提供舒适便捷卫生服务的角色。智慧公厕源头实力厂家广州中期科技有限公司&#xff0c;通过技术创新与应用升级&#xff0c;打造标杆性的智慧公厕整体解决方案。通过创新性的技术应用&#xff0c;智慧公厕…

字节新作:图像生成质量超越DiT

&#x1f31f;每日更新最新高质量论文&#xff0c;关注我&#xff0c;时刻关注最新大模型进展。&#x1f31f; &#x1f4cc; 元数据概览&#xff1a; 标题&#xff1a;Visual Autoregressive Modeling: Scalable Image Generation via Next-Scale Prediction作者&#xff1a…