首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    firstElementChild、firstChild 、childNodes和children方法

    一、 123 在上面这段代码中,如果使用以下js代码 var oDiv=document.getElementByTagName("div")[0]; alert...由于没有了div与p标签之间的空白,所以执行上面js代码时无论在ie678还是现代浏览器中都输出p标签 二、 在平时写js中,我们经常会想用一个方法直接获取到父元素的第一个子元素节点,就好比如上面的例子中...("div")[0].children[0] 所以,以后写js的时候,如果想获取到子元素的element节点,最好使用children方法,因为childNodes方法以及firstChild方法在现代浏览器中使用...,都会把元素标签中的空白节点检测出来,一般我们使用这两个方法都是为了获取到元素的元素节点,空白节点会给我们造成很多不必要的bug,而children方法则是只检测element元素节点,防范于未然,所以推荐大家以后使用...children方法来替代childNodes。

    1.6K20

    29·灵魂前端工程师养成-封装DOM库

    例如我们生活中,笔记本电脑就是由CPU、内存、硬盘、网卡、显卡、声卡、主板..等等一些硬件组装起来的,用户只需要接触 键盘 鼠标 触控板等 就可以操作复杂的计算机。 ---- 什么是接口?...被封装好的东西,需要暴露一些功能给外部,这些功能就是接口,例如:USB接口,Type-C接口,HDMI接口,VGA接口,IDE接口,SATA接口,设备只需要支持这些接口,就可以与被封装的东西进行通讯。...是我们提供的全局对象 首先使用VScode创建新项目dom-1,然后创建一个src目录,目录下创建一个index.html一个main.js  的文本内容出自曾老湿') dom.js window.dom = { create(string){ const container =...我们还是通过参数的长度来判断。

    3K40

    Js如何删除所有子元素以及当前元素

    示例展示 deleteallelem 具体描述 在原生js当中,html的内容元素总是以嵌套的关系存在于网页中,因此,可以通过遍历树的方法访问网页里的每一个元素,当然也是可以删除指定的子元素的 原生js...// 判断是否包含子元素 if(ul.hasChildNodes()) { var len = ul.childNodes.length; // 子元素的个数 for...,这样程序运行的结果就是只删除了一半的子节点 在遍历时因为删除了子节点,ul.childNodes.length值已经减小,影响了遍历结果 我们应该从后面往前删除 function deleteChilds...// 这里用原生js实现,主要是演示操作子节点的方式,在vue项目里,操作DOM的话,那使用vue就没有任何意义价值了的 var ul =...,使用原生Js全部删除操作是,通过循环遍历,一个一个的删除,而在框架里,是操作数组,想要删除全部,清空数组数据就可以了的

    10.3K40

    基于HTML5打造的一款别踩白板小游戏

    背景简介 别踩白板这个游戏相信大家都玩过,这个是基于HTML5打造的简单小游戏,在PC端和移动端都能够运行,适应多种平台,今天我们使用原生JS搭配JQuery构建这个小游戏--别踩白板。...2.3 JS层 js层主要用来控制页面产生动态效果;比如产生方块,以及方块的移动等等; 2.3.1获取元素 var main = document.getElementById('main'); //...= main.childNodes[0].childNodes[index]; // 根据随机数 设置一行中有颜色的div clickDiv.setAttribute('class', 'i')...,游戏结束效果如上图所示; 三、总结 本文我们使用到原生js打造了简单触屏游戏------别踩白板,对于游戏有简单的改动。...总体来说首先我们需要设置好游戏界面大致结构和样式,然后通过原生js控制方块的产生移动,以及点击等等,最终才呈现了一个合适的完整的界面效果;感兴趣的小伙伴可以去试一下

    1.3K10

    小程序多平台同构方案分析-kbone 与 remax

    线程,由于 worker 并不能操作 dom,所以就解决了上面管控困难的问题,架构如下: [image.png] 每个小程序界面有 axml 与 js 文件,js 文件是页面逻辑,逻辑主要做两件事情:...kbone kbone 在 worker 线程适配了一套 js dom api,上层不管是哪种前端框架(react、vue)或原生 js 最终都需要调用 js dom api 操作 dom,适配的 js...流程如下: [image.png] 因此所有小程序的代码都是放在 worker 上跑,开发者可以通过不同的前端框架(react、vue、angular) 或原生 js 来构建小程序了。...… 在 worker 线程中本身是没有 document 对象的,只需要把自己模拟的 document 对象存放到全局变量中,那上层的前端框架或原生 js 代码就能调用到了。...通过 document 创建的每个节点有四个重要的属性: type: 当前节点类型 parentNode:父节点对象 childNodes: 孩子节点对象数组 当 worker 线程创建好了 dom tree

    2.3K50

    一文搞懂JS-Web-API——DOM

    主要内容 从 JS 基础到 JS-Web-API DOM 的本质是什么 DOM 节点操作 DOM 结构操作 如何优化 DOM 操作的性能 JS Web API 背景 JS 基础知识,规定语法(ECMA...262 标准) JS Web API,网页操作的 API(W3C 标准) 前者是后者的基础,两者结合才能真正实际应用 内容 DOM:操作网页上的DOM元素,比如文本,图片等 BOM:操作浏览器上的一些事情...操作属性的一种形式 对dom元素的js变量进行修改 const plist = document.querySelectorAll('p') const p1 = plist[0] p1.className...dom重新渲染 建议:尽量用 property 操作,因为property可能会在JS机制中,避免一些不必要的DOM渲染;但是attribute是修改HTML结构,一定会引起DOM结构的重新渲染,而DOM...= div1.childNodes cosnole.log(div1.childNodes) const div1ChildNodesP= Array.prototype.slice.call(div1

    69531
    领券