首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

原生 JS DOM 常用操作大全

获取元素之 节点获取 页面中所有的内容都为节点,节点使用 node 来表示 DOM 树可以把节点划分为不同的层级关系,常见的是父子兄层级关系 父级节点 node.parentNode //node表示节点...parentNode //可以返回某个节点的父节点,注意是最近一级的父节点如果指定的节点没有父节点则返回null × 子元素节点 parentNode.children (各个浏览器都支持) (不包含...ASCII 编码e.key获取当用户按下按键时的名称 滚动条事件 当出现滚动条时,向下滚动页面时,上面被隐藏掉的高度,被称为页面被卷去的部分,此时滚动条在滚动时会触发 scroll事件 element.addEventListener...,那就是在事件冒泡时(父子元素有相同事件,单击子元素,父元素的事件处理函数也会被触发执行)这时候 this 指向的是元素,因为 this 使终指向的是事件绑定的元素 target 指向的是子元素 ,因为...将节点添加到node表示的父节点的子节点列表的末尾,类似数组的方法pushnode.insertBefore( child,指定节点的位置 ) 将节点添加到node表示的父节点的指定子节点的前面,类似于

10710

HTML+CSS基础

第一章 一、样式      1、行间样式,代码不可维护,不推荐      2、内联样式,不可重用,不推荐      3、外联样式,可重用,可维护,推荐     <link rel="stylesheet...2.2     margin问题                2.2.1     margin-top传递问题:父子级包含的时候,子级的margin-top会传递给父级,解决办法:给父级加上border...--》                     2.2.3.1      理解错了这个属性的含义,它指的是你所设置的元素的下外边距,但不代表它在父元素的底部,也不代表它的子元素都会在它的底部显示。...2.2.3.3         如果目标元素下方没有其他同辈元素,为什么margin-bottom:0不代表它在父元素的底部?...1、如果你#b元素是#a元素的子元素,可以直接通过 #a #b {...} 2、#a与#b是亲兄弟关系,有相同的父节点,且#b跟#a紧临,可以通过 #a + #b{..}来控制#b里面的元素样式; 注:

2.8K91
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    web前端学习工作笔记(三)

    快捷键控制滚动条 ,注意: ① 设置父级的滚动条,给到父级div的ref值,而且父级应设置固定高度或百分比 ② 用document.getElementById(elementId)获取div不好使(div.scrollTop...dom,减少获取dom节点的消耗 js计算精度错误,用toFixed解决 flex布局被挤压问题 (flex-shrink: 0)可用避免被挤压 https://blog.csdn.net...scss继承样式 @entend 继承的样式要写在当前样式之前,不然会被覆盖 mixin做数据拷贝,不支持共享变量修改,使用可修改的全局变量,通过Vuex的store,调用方法去修改 vue等第三方控件修改样式的方法...出现这个错误的原因是,这个computed变量,一定在某个地方使用了类似 this.popupState2=xxx的赋值操作,全局变量不直接赋值,通过 setLoginInfo(data){...$store.commit('changeLoginInfo',{ loginInfo:data }) }, RegisterJsObject不传false,js中只认小写字母开始的属性

    64920

    CSS学习记录及整理

    CSS三大特性 继承性--给父元素设置的属性,后代元素都可以继承,但仅限于以(color/font-/text-/line)开头的属性。...其中,a标签的文字颜色和下划线不能继承;h标签的文字大小不能继承。 层叠性--指CSS处理冲突的能力,当不同选择器选中同一标签并且设置了相同的属性时,就会出现冲突,这时CSS就会将多重样式层叠为一个。...div2--逗号,并列关系,选中所有列出的元素 div1 div2--空格,下属关系,选中div1内所有的div2元素 div1>div2--大于号,父子关系,选中所有父元素为div1的div2元素 div1...inherit继承父元素的属性 overflow--内容溢出时是否修剪 visible默认值,不会修剪,溢出部分会显示在框外 hidden隐藏,溢出部分会修剪掉 scroll内容会被修剪,始终显示滚动条...auto如果内容被修剪,则显示滚动条 inherit从父元素继承 position--元素的定位类型,制作一些放在某个框内的hot/new小图标时可用”子绝父相“,来达到无论缩放浏览器窗口都不会移位的效果

    6.9K80

    【优化】1141- 网页渲染性能优化 —— 渲染原理

    计算 为什么需要计算? 因为一个节点可能会有多个 Selector 命中它,这就需要把所有匹配的 Rule 组合起来,再设置最后的样式。...设置样式 设置样式的顺序是先继承父节点,然后使用用户代理的样式,最后使用开发者(authorStyleSheet)的样式。...内联样式会放到已经排序的结果集合最后,所以如果不设置 !important,内联样式的优先级是最大的。 !important 优先级 在设置 !important 的声明前,会先设置不包含 !...布局是从 Root Render Object 开始递归的,每一个 Render Object 都有对自身进行布局的方法。为什么需要递归(也就是先计算子节点再回头计算父节点)计算位置和大小呢?...因为有些布局信息需要子节点先计算,之后才能通过子节点的布局信息计算出父节点的位置和大小;例如父节点的高度需要子节点撑起。如果子节点的宽度是父节点高度的 50%,要怎么办呢?

    63630

    画了20张图,详解浏览器渲染引擎工作原理

    现在样式的属性已被标准化了,接下来就需要计算 DOM 树中每个节点的样式属性了,这就涉及到 CSS 的继承规则和层叠规则。...「(1)样式继承」 在 CSS 中存在样式的继承机制,CSS 继承就是每个 DOM 节点都包含有父节点的样式。...总之,样式计算阶段的目的是为了计算出 DOM 节点中每个元素的具体样式,在计算过程 中需要遵守 CSS 的继承和层叠两个规则。...这里在查找的过程中,出于效率的考虑,会从 CSSOM 树的叶子节点开始查找,对应在 CSS 选择器上也就是从选择器的最右侧向左查找。所以,不建议使用标签选择器和通配符选择器来定义元素样式。...当出现裁剪时,浏览器的渲染引擎就会为文字部分单独创建一个图层,如果出现滚动条,那么滚动条也会被提升为单独的图层。 2.

    2.6K21

    小程序组件开发之时间轴组件及组件关系

    Timeline 组件的文档 什么不支持自定义 slot,什么地方支持自定义,这就很清晰了,事件轴点可以自定义样式,时间轴的内容体可以自定义,以及一些外部样式 class。...border-color: #33cd5f; color: #33cd5f"> {{item.content}} 为什么这里要使用父子组件模式呢...,其实不这样也是可以很好的完整组件。...desc':'asc'}}"> custom-class 是定义组件的根外部样式,以便在外部传入样式,为什么要这样呢,小程序的组件技术采用的 WebCompontent...reverse 是个 prop ,控制时间轴是顺序展示还是倒序展示,这个在父组件来控制是最好不过的(当然,你也可以把传入的数组排序好也是一样的)。

    1.4K20

    干货 | 这些小程序技巧,你至少会用到一个!你

    小程序picker组件的range-key不生效 小程序picker使用过程中发现按官方文档写完,提示列表渲染为[Object Object],先看文档: ?...但当你确实想要传递的参数为对象时,尤其是父子对象, 传输之前可以将对象转为json字符串 ?...至于为什么不是去除特殊表情,一开始第一反应是去除就好了,后来想到万一还有人只用特殊表情做昵称……那存进去的就是空字符串,到时候拿出来显示为空的,视觉不好看。...去除小程序swiper组件的滚动条 小程序自带swiper组件在滚动到时候会用滚动条出现,有时候为了页面的干净,所以……干掉它! ?...在小程序中事件分为冒泡事件和非冒泡事件: 冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递。非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递。

    74700

    浏览器渲染原理

    因为浏览器无法直接理解和使用HTML,所以需要将HTML转化为浏览器能够理解的结构—DOM树。树结构很像我们现实生活中的"树",其中的每一个点我们称为**节点,**相连的节点称为父子节点。...image-20220125191058305 5.2.3 计算出DOM树中每一个节点的具体样式 这里就涉及到CSS的「继承规则」和「层叠规则」了。...首先是CSS的继承,「css继承是每个DOM节点都包含父节点的样式」。结合以下例子,看下面这张表示如何应用到DOM节点上的。...body { font-size: 20px } 继承规则就是一般文本和字体相关样式都是可以继承的。层叠规则,嵌套的越深权重就越高。...总之,样式计算阶段的目的是为了计算出 DOM 节点中每个元素的具体样式,在计算过程中需要遵守 CSS 的继承和层叠两个规则。

    1.1K20

    前端面试题2(CSS)

    ,通过修改子孙节点属性无法显示;visibility:hidden;是继承属性,子孙节点消失由于继承了hidden,通过设置visibility: visible;可以让子孙节点显式 修改常规流中元素的...行框的排列会受到中间空白(回车空格)等的影响,因为空格也属于字符,这些空白也会被应用样式,占据空间,所以会有间隔,把字符大小设为0,就没有空格了 为什么要初始化CSS样式 因为浏览器的兼容问题,不同浏览器对有些标签的默认值是不同的...: inherit; // 继承父元素 box-sizing 属性的值 CSS选择器有哪些?...50%*/ margin-top: -150px; /*自身高度一半*/ } 未知高度的块级父子元素居中,模拟表格布局 缺点:IE67不兼容,父级 overflow:hidden 失效 .container...px 相对于显示器屏幕分辨率,无法用浏览器字体放大功能 em 值并不是固定的,会继承父级的字体大小: em = 像素值 / 父级font-size 解释下什么是浮动和它的工作原理?

    2.8K11

    JS事件篇

    抽离出按钮点击函数的小案例 parentNode :获取一个元素的父元素 innertext :获取到一个标签里面的文本内容 获取兄弟节点,也可能会获取到空白节点 获取兄弟元素 节点的属性 通过nodevalue...-向一个父节点中添加一个子节点 整合上面操作的小案例 父节点.insertBefore(新节点,旧节点): 在指定子节点前插入新的子节点 父节点.replaceChild(新节点,旧节点): 使用指定的子节点替换已有的子节点...父节点.removeChild(子节点):删除子节点 使用innerHTML也可以完成DOM的增删改操作 阻止a标签默认行为的常用三种方式 a标签的索引问题 JS修改元素的样式 读取元素的内联样式 获取当前元素显示的样式...父节点.appendChild()----向一个父节点中添加一个子节点 ---- 整合上面操作的小案例 <!...important; } ---- 读取元素的内联样式 样式表即css设置的样式 ---- 获取当前元素显示的样式—只读 ---- getComputedStyle

    12.6K10

    2021年web前端面试集锦

    因为事件在冒泡过程中会上传到父节点,并且父节点可以通过事件对象获取到目标节点,因此可以把子节点的监听函数定义在父节点上,由父节点的监听函数统一处理多个子元素的事件,这种方式称为事件代理。...vue组件的通信方式 父子组件通信 父->子props,子->父 $on、$emit` 获取父子组件实例 parent、 parent、children Ref 获取实例的方式调用组件的属性或者方法 Provide...父子组件,父->子直接用Props,子->父用callback回调 非父子组件,用发布订阅模式的Event模块 项目复杂的话用Redux、Mobx等全局状态管理管库 Context Api context...懒加载、滚动加载、加载更多或监听滚动条位置; //2. 百度搜索框,搜索联想功能; //3....原型链继承 写个父类、子类 子类的原型为父类的实例 子类.prootype = new 父类 修正子类原型为子类本身 子类.prototype.constructor=子类 new 子类即可调用父类方法

    40130

    2023年超全前端面试题-背完稳稳拿offer(欢迎补充)

    因为事件在冒泡过程中会上传到父节点,并且父节点可以通过事件对象获取到目标节点,因此可以把子节点的监听函数定义在父节点上,由父节点的监听函数统一处理多个子元素的事件,这种方式称为事件代理。...patch过程比较低效,影响性能; 从源码中可以知道,Vue判断两个节点是否相同时主要判断两者的key和元素类型等,因此如果不设置key,它的值就是undefined,则可能永 远认为这是两个相同的节点...vue组件的通信方式 父子组件通信 父->子props,子->父 $on、$emit获取父子组件实例 parent、parent、children Ref 获取实例的方式调用组件的属性或者方法 Provide...如果不命中则根据头信息向服务器发起请求,使用协商缓存,如果协商缓存命中的话,则服务器不返回资源,浏览器直接使用本地资源的副本,如果协商缓存不命中,则浏览器返回最新的资源给浏览器。...懒加载、滚动加载、加载更多或监听滚动条位置;//2. 百度搜索框,搜索联想功能;//3.

    1.1K12

    重新认识HTML渲染过程

    第三步是计算出DOM树中每个节点的具体样式:css有继承规则和层叠规则。...继承规则很简单,我父元素设置了字体20px,子元素如果没有另外加样式就都是20px,浏览器也有默认的,所以我们会有reset.css。...查看样式styles可以看见继承和层叠,还有来源,user agent stylesheet就是浏览器默认提供的默认样式。...并不是布局树的每个节点都包含一个图层,如果一个节点没有对应的层,那么这个节点就从属于父节点的图层。...试了一下,fixed定位和body出现滚动条会出现分层,其他的不知道周末出现,可以通过chrome的layers查看: ? ? 输入内容是特点的节点,渲染引擎会把这些节点生成专用的图层,生成图层树。

    1.5K30

    vue面试经常会问的那些题

    这个可以是这个节点的唯一标识,告诉diff 算法,在更改前后它们是同一个DOM节点扩展v-for 为什么要有key ,没有key 会暴力复用,举例子的话随便说一个比如移动节点或者增加节点(修改DOM),...父组件向子组件传值props只能是父组件向子组件进行传值,props使得父子组件之间形成了一个单向下行绑定。子组件的数据会随着父组件不断更新。...先来看一下inheritAttrs,它的默认值true,继承所有的父组件属性除props之外的所有属性;inheritAttrs:false 只继承class属性 。...这些被标记的节点(静态节点)我们就可以跳过对它们的比对,对运行时的模板起到很大的优化作用。编译的最后一步是将优化后的AST树转换为可执行的代码。为什么vue组件中data必须是一个函数?...为什么Vue采用异步渲染呢?Vue 是组件级更新,如果不采用异步更新,那么每次更新数据都会对当前组件进行重新渲染,所以为了性能,Vue 会在本轮数据更新后,在异步更新视图。核心思想nextTick 。

    1K20

    前端面试题 vue_vue面试题必问

    4.vue组件如何通信 1.父子组件props和this.emit2.ref 链:父组件要给子组件传值,在子组件上定义一个 ref 属性,这样通过父组件的 refs 属性就可以获取子组件的值了,也可以进行父子...常见使用场景可以分为三类:父子通信:父向子传递数据是通过 props,子向父是通过 events(emit);通过父链 / 子链也可以通信(parent / children);ref 也可以访问组件实例...如果他们都有文本节点并且不相等,那么将 el 的文本节点设置为 vnode 的文本节点。 如果 oldVnode 有子节点而 vnode 没有,则删除 el 的子节点。...71.vue弹窗后如何禁止滚动条滚动?...deactivated 缓存状态的时候触发 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

    8.8K20

    五分钟了解浏览器工作原理

    浏览器的外观没有特定的标准,HTML5 规范没有规定 UI 元素该长什么样,但是列了一些常见元素:地址栏、个人信息栏、滚动条、状态栏和工具栏等。...这些节点在 DOM(文档对象模型)树数据结构中互相链接,建立父子关系、相邻兄弟关系。 ?...元素的样式数据可以来自父元素(通过继承),也可以直接在元素上设置。浏览器需要递归遍历 CSS 树结构来确定特定元素的样式。 ?...cssom-tree DOM 与 CSSOM 组成渲染树 DOM 树包含了 HTML 元素之间的关系信息,CSSOM 树则包含了这些元素的样式信息。从根节点开始,浏览器会遍历每一个可见节点。...有些节点是隐藏的(通过 CSS 控制),不会出现在渲染结果中。对于每个可见节点,浏览器找到 CSSOM 中定义的相关规则进行匹配,最终这些节点会带着内容和样式出现在渲染树中。 ?

    94420
    领券