前端学习之DOM编程-docmument对象、操作DOM对像内容、操作DOM对象属性方式、操作DOM对象的样式

news2024/11/18 20:41:41

docmument对象

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>document对象</title>
</head>
<body>
    <div id="container" name='parent'>
        <ul name="parent">
            <li class="li_class">第一项</li>
            <li class="li_class">第二项</li>
            <li>第三项</li>
        </ul>
    </div>
    <script>
        //获取dom中的标签共有7中方式
        // 直接使用标签中id(不建议使用)
        container.style.border='1px solid red'
        // 通过id获取dom标签,只获取一个
        let div1 = document.getElementById('container')
        div1.style.background = "#ff0000"
        // 通过类名称获取,获取的是一个数组
        let li_arr = document.getElementsByClassName('li_class')
        console.log(li_arr)
        // 通过标签名获取
        let li_arr1 = document.getElementsByTagName('li')
        console.log(li_arr1)
        // 通过name属性获取
        let parent_arr = document.getElementsByName('parent') 
        console.log(parent_arr)
        // 通过css选择器获取标签
        // 只获取一个,返回第一个
        let tag = document.querySelector('#container')
        console.log(tag)

        // 获取一个合集,所有符合的都返回来
        // 想要获取单个元素可以   document.querySelectorAll('#container>ul>li')[0] 获取第0号元素
        let tag1 = document.querySelectorAll('#container>ul>li')
        console.log(tag1)
        
    </script>
</body>
</html>

结果

操作DOM对像内容

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>操作</title>
</head>
<body>
    <div id="container" name='parent'>
        <ul name="parent">
            <li class="li_class">第一项</li>
            <li class="li_class">第二项</li>
            <li>第三项</li>
        </ul>
    </div>
    <script>
        // let div1 = document.getElementById('container')
        // 将div里面的内容整体替换,不可以插入标签
        // div1.innerText = '123321'
        // 和innerText同理
        let div2 = document.querySelector('#container')
        div2.textContent = '123123'
        // 可以用来插入标签(这个插入是将原来的东西替换掉),慎用防止xss攻击,一般来说浏览器会对简单的script进行屏蔽防止xss攻击
        div2.innerHTML = '<h1>和阿凡达'
        
        // 一般使用的插入标签方法
        // 首先创建
        let ol1 = document.createElement('ol')
        let li1 = document.createElement('li')
        // 往里面添加内容
        li1.textContent = '123'
        // 将创建的东西挂载到
        ol1.appendChild(li1)
        div2.appendChild(ol1)
    </script>
</body>
</html>

结果

 操作DOM对象的节点

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>操作DOM对象</title>
</head>
<body>
    <div>
        <ul>
            123
            <li>第一项</li>
            123
            <li name="第二" id="2">第二项</li>
            <li>第三项</li>
        </ul>
    </div>
    <script>
        let ul1 = document.getElementsByTagName('ul')[0]
        // 拿到所有节点,(所有标签上面下面都会有一个文本,就算没有内容也有这个文本)
        let all_child = ul1.childNodes
        console.log(all_child)
        // (所有标签上面下面都会有一个文本)所以第一个孩子是123这个文本
        let first_child = ul1.firstChild
        console.log(first_child)
        // 拿到第一个li
        let all_child_1 = ul1.childNodes[1]
        console.log(all_child_1)
        // 获取节点前面的一个节点,下面代码就是获取第二个标签的前两个节点也就是第一个标签
        let all_child_2 = ul1.childNodes[3]
        console.log(all_child_2.previousSibling.previousSibling)
        // 获取节点下面的一个节点,下面代码获取的是第三个所在的标签
        console.log(all_child_2.nextSibling.nextSibling)
        // 获取当前节点所有属性
        console.log(all_child_2.attributes)
        // 删除某个结点,下面代码是删除第三项
        ul1.removeChild(ul1.childNodes[5])
        
    </script>
</body>
</html>

结果

 操作DOM对象属性方式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>操作DOM对象属性</title>
</head>
<body>
    <div>
        <ul>
            <li>第一项</li>
            <li>第二项</li>
            <li>第三项</li>
        </ul>
        <img src="../../作业/学校门互网站素材/图书管图片.jpg"  width="100px" height="100px">
    </div>
    <script>
        let div1 = document.getElementsByTagName('div')[0]
        // 给div添加属性name
        // 如果某些时候下面这种方法没有办法使用,就用下面第二种方法
        div1.name = '123'
        div1.id = '1'
        console.log(div1.name)
        console.log(div1.id)
         let img1 = document.getElementsByTagName('img')[0]
        //  下面是给属性设置的另外一种方法
         img1['title'] = 'img123'
        //  调用系统API  img1.setAttribute('属性名','修改的值')
        img1.setAttribute('title','img1234')

        // 练习
        let li1 = document.getElementsByTagName('li')[1]
        li1.id =  'id1'
        li1['title'] = 'haha'
        li1.setAttribute('name','test')
        console.log(li1)
    </script>
</body>
</html>

结果

 

 操作DOM对象的样式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>操作DOM样式</title>
</head>
<body>
    <div class="first_div"></div>
    <script>
        let div1 = document.getElementsByClassName('first_div')[0]
        // 设置或者获取标签的行内样式
        div1.style.border = '10px dotted red'
        console.log(div1.style.border)

        // 获取标签的所有样式
        console.log( window.getComputedStyle(div1).border )

        
</script>
</body>
</html>

结果


不嫌弃的点点关注,点点赞 ଘ(੭ˊᵕˋ)੭* ੈ✩‧

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

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

相关文章

计算机系统结构速成,期末和自考必备

【拯救者】计算机系统结构速成(期末自考)均可用 1️⃣先讲每章对应的基础 2️⃣接着会讲对应的题目巩固 &#x1f357;提供文档下载 这里讲的是【 &#x1f337;速成&#x1f337; 速成&#x1f337; 速成】版本&#xff0c;按课本章节来&#xff0c; 抽取重点&#xff0c;翻…

数据分析——数据规范化

数据规范化是数据分析中的一个重要步骤&#xff0c;其目的在于确保数据的一致性和可比性&#xff0c;提高数据质量和分析结果的准确性。以下是一些数据规范化的常见方法和技术&#xff1a; 数据清洗&#xff1a;此步骤主要清除数据中的重复项、空格、格式错误等&#xff0c;确…

Transformer Based Multi-view Network for Mammographic Image Classification

“C-Tk” means “Classification Token” 辅助信息 作者未提供代码

【python从入门到精通】-- 第四战:语句汇总

&#x1f308; 个人主页&#xff1a;白子寰 &#x1f525; 分类专栏&#xff1a;python从入门到精通&#xff0c;魔法指针&#xff0c;进阶C&#xff0c;C语言&#xff0c;C语言题集&#xff0c;C语言实现游戏&#x1f448; 希望得到您的订阅和支持~ &#x1f4a1; 坚持创作博文…

C++:函数重载和引用

hello&#xff0c;各位小伙伴&#xff0c;本篇文章跟大家一起学习C&#xff1a;函数重载和引用&#xff0c;感谢大家对我上一篇的支持&#xff0c;如有什么问题&#xff0c;还请多多指教 &#xff01; 文章目录 函数重载1.函数重载的概念为什么C支持函数重载 引用引用的概念引…

C++中发送HTTP请求的方式

一&#xff0c;简介 使用C编程发送HTTP请求通常需要使用第三方的HTTP库或框架。在C中&#xff0c;有几个受欢迎的HTTP库可供选择&#xff0c;例如Curl、Boost.Beast和cpp-httplib。另外&#xff0c;也可以自己实现socket来发送http请求 二、使用Curl库发送HTTP请求 1. 确认当…

day60 动态规划part17

这两题看了自己写的笔记还不懂的话&#xff0c;看看这个up的思路就行&#xff1a; https://space.bilibili.com/111062940/search/video?keyword%E5%9B%9E%E6%96%87 647. 回文子串 中等 提示 给你一个字符串 s &#xff0c;请你统计并返回这个字符串中 回文子串 的数目。 回…

微带线特性阻抗快速计算---根据介质板参数和特性阻抗得到线宽(Matlab代码)

微带线特性阻抗快速计算—根据介质板参数和特性阻抗得到线宽&#xff08;Matlab代码&#xff09; 参考&#xff1a;https://blog.csdn.net/weixin_45811090/article/details/130045689 《射频电路理论与设计》第2版 黄玉兰著 《射频电路设计——理论与应用》第二版 Reinhold L…

STC89C51学习笔记(三)

STC89C51学习笔记&#xff08;三&#xff09; 综述&#xff1a;本文讲述了通过51单片机控制LED闪烁、流水灯、按键控制LED亮灭、按键控制LED实现二进制、按键控制LED左右移。 一、LED 1.LED闪烁 1&#xff09;原理 如果要实现LED闪烁&#xff0c;不可以直接先使LED亮&…

兼顾性能的数据倾斜处理方案

目录 前言 一、场景描述 二、常见的优化方法 2.1 Mapjoin 2.2 特殊值/空值打散 2.3 热点值打散&#xff0c;副表呈倍数扩散 2.4 热点数据单独处理/SkewJoin 2.5 方案总结 三、Distmapjoin 3.1 核心思路 3.2 代码实现 3.3 真实效果 四、方案总结 文章主要是介绍在支…

手把手教你从入门到精通C# MES通信

前言 我们在上位机软件开发的时候,经常需要与客户的MES系统进行通信,一般与MES系统通信需要实现的功能如下: 1、通过输入员工号来获取登录MES系统的权限 2、上传设备检测的OK/NG结果给MES系统; 3、上传设备生产过程中的异常信息给MES系统; 4、上传设备生产过程中的数据,…

(arxiv2401) CrossMAE

作者团队来自加州大学伯克利分校&#xff08;UC Berkeley&#xff09;和加州大学旧金山分校&#xff08;UCSF&#xff09;。论文主要探讨了在MAE的解码中&#xff0c;图像patch之间的依赖性&#xff0c;并提出了一种新的预训练框架 CrossMAE。 论文的主要贡献包括&#xff1a; …

【C++入门】关键字、命名空间以及输入输出

&#x1f49e;&#x1f49e; 前言 hello hello~ &#xff0c;这里是大耳朵土土垚~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#x…

Ant Design Vue table固定列失效问题解决

问题描述&#xff1a;项目中封装好的公共table组件&#xff0c;基于Ant Design Vue table封装&#xff1b;使用中&#xff0c;用到了列固定&#xff0c;但是没生效&#xff0c;找了好久的原因。。。最后是因为外层容器标签导致&#xff1b; 解决方法&#xff1a;如果a-table组件…

Windows系统安装OpenSSH结合VS Code远程ssh连接Ubuntu【内网穿透】

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-AwzyR2lkHKjD9HYl {font-family:"trebuchet ms",verdana,arial,sans-serif;f…

【吊打面试官系列】Redis篇 - Redis单进程单线程好处?

大家好&#xff0c;我是锋哥。今天分享关于 【Redis单进程单线程好处&#xff1f;】面试题&#xff0c;希望对大家有帮助&#xff1b; Redis单进程单线程好处&#xff1f; 代码更清晰&#xff0c;处理逻辑更简单 不用去考虑各种锁的问题&#xff0c;不存在加锁释放锁操作&…

使用简单MLP实现0-9数字识别,数据集为MNIST

简介 需求&#xff1a; 基于pytorch实现简单MLP&#xff0c;完成数字识别&#xff0c;采用MNIST手写数字作为数据集&#xff0c;MNIST&#xff1a;有6万张训练图片&#xff0c;1万张测试图片训练结束后&#xff0c;随机取3张测试图片&#xff0c;展示模型的预测结果和真实图片…

策略模式图

策略模式 小小的图解 主要的三个角色 Strategy—抽象策略角色ConcreateStrategy—具体策略角色Context—上下文角色 封装了对具体策略的调用可以使用set的依赖注入也可以使用构造方法 核心是上下文角色 只要调用上下文角色就行&#xff0c;实现解耦 策略 工厂 将上下文角…

【java探索之旅】逻辑控制掌握 顺序结构 分支语句

&#x1f3a5; 屿小夏 &#xff1a; 个人主页 &#x1f525;个人专栏 &#xff1a; Java编程秘籍 &#x1f304; 莫道桑榆晚&#xff0c;为霞尚满天&#xff01; 文章目录 &#x1f4d1;前言一、逻辑控制的概念二、顺序结构三、分支结构3.1 if语句3.2 if习题巩固3.3 细节注意项…

TR3 - Transformer算法详解

目录 文本输入处理词向量位置向量 编码器 EncoderSelf-Attention多头注意力机制残差连接 解码器 Decoder线性层与Softmax损失函数总结与心得体会 这周来看一下Transformer是怎么将文本转换成向量&#xff0c;然后又输入到模型处理并得到最终的输出的。 文本输入处理 词向量 …