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

js常用方法和一些封装(3) -- dom相关

js一个非常重要作用就是对dom进行操作,所谓dom,可以理解为html代码里一个个节点。比如,body标签元素就是一个dom。本文对jsdom操作进行一些总结。...按照惯例,先上一个刚写好小例子,代码在最后给出: ? 1.gif 现在,来看看jsdom一些操作吧。...1.最简单dom方法封装 在本系列中,假设我们不考虑用jQuery。 现在给第三个盒子添加一个id。...= i; return false; } }); return index; }; 我学习js路线就是如此,先想尽办法把功能实现了,然后才开始封装成方法...封装好处不言而喻,没有人喜欢每次用到这个功能时候,就去把实现代码拷贝一份吧。 3.如何获取parent下面指定class元素列表?

1.6K101
您找到你想要的搜索结果了吗?
是的
没有找到

jsDOM理解

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大小写,而且也返回匹配...ie7以下版本中没有,非实时 .querySelectorAll() // css选择器 在ie7和ie7以下版本中没有,非实时 复制代码 DOM基本操作 遍历节点树: parentNode ->

4.2K30

第八节dom以及dom封装

context.querySelector/context.querySelectorAll ie6~8不兼容 通过这个获取到节点集合不存在dom映射 2、描述节点和节点之间关系属性(在标准浏览器中会把空格和换行当做文本节点处理...使用惰性思想来封装常用方法库:第一次在给utils赋值时候我们就已经把兼容处理好了,把处理结果存放在flag变量中,以后在每一个方法中,只要是ie6~8不兼容,我们不需要重新检测,只需要使用flag...arr[arr.length] = likeArray[i]; } return arr; } })(); 以下Dom...库封装utils 方法库完成了这些功能 1.获取某一个容器中所有元素子节点(还可以筛选出指定签名)(function children) 2.获取上一个哥哥元素节点(prev)、获取下一个弟弟元素节点...方法 11.getcss 12.setcss 13.getGroupCss Dom封装utils 方法库 var utils = (function () { var flag = "getComputedStyle

1.1K20

JSDOM

DOM:document object model。文档对象模型。它主要由许多节点。而基于JS对象一切视角,DOM核心是节点对象和操作方法属性。从下面三方面来介绍DOM。...一、节点查找与操作 这部分表面看起来有些碎,但细细挖掘还是有非常大规律可循。 见导图: 二、DOM之CSS样式 对于这部分内容,涉及到也是CSS样式获取和操作。...JS中提供了专门儿用于获取元素尺寸和大小方法。 实际大小:针对于元素实际大小。主要与四个因素有关,padding。margin,border,scroll。而以下提供几种方法,针对于不同因素。...会有不同结果,仅依据需求使用就可以 周边大小: 小结:DOMJS学习一个核心内容。...当中涉及到元素节点属性和基本操作也是前台页面中最重要组成,通过这些,才干使JS中基于对象思想发挥作用。能够说,B/S UI页面中一切都是建立在这些元素基础之上

3.2K20

简单实现 next.js restful 风格 API handler 封装

最近在做个 next.js 内部项目,由于 next.js 可以通过文件 API 路由方式快速创建一个 API,因此选择了使用 restful 风格,这样可以利用好 next.js 文件路由优势。...wrapper 封装 上面列出这些问题,其实只需要做一层简单函数封装即可,使用时我们只需要将 handler 包在封装函数中。...default handlerWrapper(async (req, res) => { // .... }); 而在 handlerWrapper 中,我们则可以对 handler 做些简单封装...,通过这样一层简单封装,我们可以解决掉上面所提到到需要手动声明 handler 中参数类型问题,还解决了代码报错时会返回 500 页面的问题。...结语 通过上面的封装,不需要多少时间就可以将 next.js API 处理简化数倍,且让程序健壮性更高,后续可维护性也大大提升。

1.4K31

那些关于DOM常见Hook封装(二)

构建属于自己 React hooks 工具库。 培养阅读学习源码习惯,工具库是一个对源码阅读不错选择。 本篇接着针对关于 DOM 各个 Hook 封装进行解读。...useFullscreen 管理 DOM 全屏 Hook。 该 hook 主要是依赖 screenfull[1] 这个 npm 包进行实现。...选择它原因,估计有两个: 它兼容性好,兼容各个浏览器全屏 API。 简单,包体积小。压缩后只要 1.1 k。 大概介绍几个它 API。 .request(element, options?)。...来看该 hook 封装: 首先是 onChange 事件中,判断是否是全屏,从而触发进入全屏函数或者退出全屏函数。当退出全屏时候,卸载 change 事件。...先简单看下这个 API: Document.visibilityState (只读属性), 返回document可见性, 即当前可见元素上下文环境。

81620

JS DOM学习笔记

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、jQueryready和Domonload区别:window.onload只能注册一次,是在所有的Dom元素创建完毕、图片、CSS都加载完毕后才被触发;而jQuery...ready则是在Dom元素创建完毕后被触发,这样可以提高网页响应速度 15、js打印一个对象所有属性: //传入一个对象 function (swiper){ var msg = "";

4K40
领券