js一个非常重要的作用就是对dom进行操作,所谓的dom,可以理解为html代码里的一个个节点。比如,body标签元素就是一个dom。本文对js的dom操作进行一些总结。...1.gif 现在,来看看js对dom的一些操作吧。...1.最简单的dom方法封装 在本系列中,假设我们不考虑用jQuery。 现在给第三个盒子添加一个id。...然而,在js中我们可以遍历数组,却无法直接遍历object,咋办呢? 原来,这是一个特殊的object,因为它有一个length属性。...= i; return false; } }); return index; }; 我学习js的路线就是如此,先想尽办法把功能实现了,然后才开始封装成方法
什么是DOM DOM,文档对象模型(Document Object Model)。 HTMLCollection 对象 注意:IE9及以上版本才支持!...//获取最后一个元素节点 console.log(cnode.lastElementChild);// 我是p DOM...show1() { console.log('show1'); } 取消默认事件 1,可在onclick=""上直接加return false 2,通过获取dom
justify-content: space-between; font-size: 20px; margin-bottom: 10px; } DOM
通过 HTML DOM,可访问 JavaScript HTML 文档的所有元素。...HTML DOM (文档对象模型) 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。HTML DOM 模型被构造为对象的树。...HTML DOM 树 ? 通过可编程的对象模型,JavaScript 获得了足够的能力来创建动态的 HTML。
DOM:document object model。文档对象模型。它主要由许多节点。而基于JS对象的一切视角,DOM核心是节点对象和操作方法的属性。从下面三方面来介绍DOM。...见导图: 二、DOM之CSS样式 对于这部分的内容,涉及到的也是CSS样式的获取和操作。...JS中提供了专门儿用于获取元素尺寸和大小的方法。 实际大小:针对于元素的实际大小。主要与四个因素有关,padding。margin,border,scroll。而以下提供的几种方法,针对于不同的因素。...会有不同的结果,仅依据需求使用就可以 周边大小: 小结:DOM是JS学习的一个核心内容。...当中涉及到的元素节点的属性和基本操作也是前台页面中最重要的组成,通过这些,才干使JS中基于对象的思想发挥作用。能够说,B/S UI页面中的一切都是建立在这些元素的基础之上的。
() 通过元素标签的className在指定元素内部查找元素 但是很多实际情况下,用这三种方法不是很方便,很多时候需要多次调用,就晓得有点麻烦,代码量也有点大,所以这个时候我们就需要将查询函数封装成一个函数...比如如下所示: html结构: 传递的参数如下: var atrr = $(".box .box1 .div1 span"); 然后就是封装函数了。...元素 for(var i = 0,len = strs.length;i<len;i++){//根据传过来的字符串,一层一层的遍历查找dom if(strs[i].charAt(...0)==="#"){//如果是id,返回的是dom元素 result = document.getElementById(strs[i].slice(1)); }...{//如果是class,则返回的是一个伪数组(集合),需要加一个下标,才能获得dom result = byClass(strs[i].slice(1),result[0]);
document.documentElement context.querySelector/context.querySelectorAll ie6~8不兼容 通过这个获取到的节点集合不存在dom...previousSibling nextElementSibling/nextSibling lastChild/lastElementChild firstChild/firstElementChild 3、dom...insertBefore() cloneNode(true/false) replaceChild() removeChild() get/set/removeAttribute 4、dom...hasClass判断是否存在某一个样式类名 11.解决getElementsByClassName()兼容问题 12.Jq中的css方法 11.getcss 12.setcss 13.getGroupCss Dom...parseFloat(val) : val; } //设置css样式 function setcss(attr, value) { // 在js中设置float样式值的话
arguments.callee,func.caller,变量赋值前必须声 明,局部this必须被赋值 (Person.call(null/undefined) 赋值什么就是什么),拒绝重复属性和参数 复制代码 DOM...什么是DOM 1.DOM — > Document Object Model 2.DOM定义了表示和修改文档所需的方法。...DOM对象即为宿主对象, 由浏览器厂商定义,用来操作html和xml功能的一类对象的集合。 也有人称DOM是对HTML以及XML的标准编程接口。...复制代码 DOM基本操作 1.对节点的增删改查 查看元素节点 document代表整个文档 document.getElementById() //元素id 在Ie8以下的浏览器, 不区分id大小写,而且也返回匹配...querySelector() // css选择器 在ie7和ie7以下的版本中没有,非实时 .querySelectorAll() // css选择器 在ie7和ie7以下的版本中没有,非实时 复制代码 DOM
,颜色都是灰的,说明代码是错的,通过在js中添加了一个var eventUill = {},建立了一个对象,html这里调用对象的addHander, eventUill找不到,发现,引用外部库的js...onload=function(所有的js代码)调用id的代码写到html的下边。这也是js习惯上要放到body的后边的理由。...以下是测试时的html文件,DOM2级事件-跨浏览器处理.js就是上面的js源码。 dom2级事件跨浏览器处理-封装库 <script
button";//input标签类型为按钮 btn.value = "提交"; //设置按钮值 document.appendChild(btn); //将按钮添加到文档中 13、不同浏览器中对DOM...支持的方法不一样 获取网页中那个元素触发了事件,在IE中使用srcElement; 在FireFox里使用target 使用Dom获取和更改网页标签元素内文本,在IE中使用innerText; 在FireFox...里使用textContent 动态为网页或元素绑定事件,在IE中绑定事件的方法是attachEvent; 在FireFox中绑定事件的方法是addEventListener jQuery之类的框架进行了封装...,解决了不同浏览器上Dom的不同 14、jQuery的ready和Dom的onload的区别:window.onload只能注册一次,是在所有的Dom元素创建完毕、图片、CSS都加载完毕后才被触发;而jQuery...的ready则是在Dom元素创建完毕后被触发,这样可以提高网页的响应速度 15、js打印一个对象的所有属性: //传入一个对象 function (swiper){ var msg = "";
1:DOM开篇 <!...2.获取DOM元素上 <!...2.获取DOM元素下 <!...oH1.parentNode.removeChild(oH1); oP.parentNode.removeChild(oP); 注意点: 在js
DOM=DocumentObject Model,文档对象模型。 Dom有三个不同的部分。...1、核心DOM 也是最基础的文档结构的标准模型 2、XMLDOM 针对XML文档的标准模型 3、HTML DOM 针对HTML文档的标准模型 对于一个新生程序猿来说。...而DOM作为以上的标准。当然会对其上面进行规划: 依据DOM,文档每一个成分都是一个节点。 对于上面的文档。 事实上就是一颗树。 通过一个样例来了解一下: <link rel="stylesheet...<em>DOM</em>节点树中的节点分为: 元素节点、文本节点、属性节点。
一次DOM曝光封装历程 http://zoo.zhengcaiyun.cn/blog/article/dom 随着最近曝光埋点的需求越来越频繁,就想把之前写好的曝光逻辑抽出来封装了一下作为公用。...已经曝光则不再持续,直到 dom 离开视口,重新计算 重写 当我以为已经够用时,某次需求需要监听 DOM 在某个 div 内横向滑动的曝光,发现它并不支持!...) callback 回调函数,options 是配置参数 io.observe 观察函数,DOM 为被观察对象 主要两点 1.options 的配置为: const observerOptions...html,css,js,console,output),我第一调试的时候就碰到了 用户要看的子元素是被父元素给限制住了,但是对于 isIntersecting 它来讲是出现在视口内的。...options.DOMs.forEach(DOM => io.observe(DOM)); } } 参考文献 你真的会用 getBoundingClientRect 吗(https
...
你可以向任何 DOM 对象添加事件监听,不仅仅是 HTML 元素。如: window 对象。 addEventListener() 方法可以更简单的控制事件(冒泡与捕获)。
head> Document-DOM2...级封装练习题 * { margin: 0; padding: 0; } .head { font-size: 12px;...,封装到一个函数addEvent中,接受三个参数:要执行的对象(就是获取的id变量名)、事件类型(click。...,1:需要加'on',因为传过来type时不用加on但是dom0级调用事件是要有on的。...} } // 显示登录层函数 function showLogin() {//普通的通过js操作css样式的代码,只不过定义成了一个函数封装起来一会方便调用。
上一篇我们探讨了 ahooks 对 DOM 类 Hooks 使用规范,以及源码中是如何去做处理的。接下来我们就针对关于 DOM 的各个 Hook 封装进行解读。...首先它支持传递 DOM 节点或者 Ref,并且是支持数组方式。事件默认是支持 click,开发者可以自行传递并支持数组方式。...=> document.removeEventListener(event, handler)); }; 最后看 handler 函数,通过 event.target 获取到触发事件的对象 (某个 DOM...target : [target]; if ( // 判断点击的 DOM Target 是否在定义的 DOM 元素(列表)中 targets.some((item) => {...useEventTarget 常见表单控件(通过 e.target.value 获取表单值) 的 onChange 跟 value 逻辑封装,支持自定义值转换和重置功能。
本篇接着针对关于 DOM 的各个 Hook 封装进行解读。 useFullscreen 管理 DOM 全屏的 Hook。...来看该 hook 的封装: 首先是 onChange 事件中,判断是否是全屏,从而触发进入全屏的函数或者退出全屏的函数。当退出全屏的时候,卸载 change 事件。...() => { if (state) { exitFullscreen(); } else { enterFullscreen(); } }; useHover 监听 DOM
js 代码 /** * Created by Administrator on 2018/7/6. */ function doNothing
领取专属 10元无门槛券
手把手带您无忧上云