热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JS的Dom与事件小结

这次给大家带来JS的Dom与事件小结,JS的Dom与事件小结注意事项有哪些,下面就是实战案例,一起来看一下。
这次给大家带来JS的Dom与事件小结,JS的Dom与事件小结注意事项有哪些,下面就是实战案例,一起来看一下。

dom对象的innerText和innerHTML有什么区别?

innerHTML指的是从对象的起始位置到终止位置的全部内容,包括Html标签。
innerText 指的是从起始位置到终止位置的内容,但它去除Html标签。

elem.children和elem.childNodes的区别?

Node(节点)是DOM层次结构中的任何类型的对象的通用名称,Node有很多类型,如元素节点,属性节点,文本节点,注释节点等。Element继承了Node类,也就是说Element是Node多种类型中的一种,即当NodeType为1时Node即为ElementNode,另外Element扩展了Node,Element拥有id、class、children等属性。children是Element的属性,childNodes是Node的属性。

查询元素有几种常见的方法?

常见的获取元素的方法有3种,分别是通过元素ID、通过标签名字和通过类名字来获取。
1.getElementById
DOM提供了一个名为getElementById的方法,这个方法将返回一个与之对应id属性的节点对象。
2.getElementsByTagName
该方法返回一个对象数组(准确的说是HTMLCollection集合,它不是真正意义上的数组),每个对象分别对应着文档里有着给定标签的一个元素。类似于getElementById,同样,该方法只提供一个参数,它的参数是指定标签的名字。
3.getElementsByClassName
除了通过指定标签获取元素外,DOM还提供了getElementsByClassName方法来获取指定class名的元素。

如何创建一个元素?如何给元素设置属性?

1.createElement(name)创建元素节点
createElement()是Document对象中的方法,该方法会根据指定的元素名称name,返回一个Element对象。
2.设置创建元素节点的属性
创建元素后,我们可能需要设置元素属性,如:给元素设置CSS样式、添加点击事件等。设置元素属性可以使用Element对象的setAttribute方法,也可以使用属性名设置。
3.将元素节点插入到DOM文档的指定位置
元素创建后,需要将元素节点插入到DOM文档的指定位置,添加元素使用Element对象的appendChild()方法或insertBefore()方法。appendChild()
方法的作用是向元素添加新的子节点,被添加的子节点将作为其最后一个子节点。insertBefore()方法的作用是在已有的节点之前插入新节点,被添加的节点会做为同级节点。

元素的添加、删除?

元素的添加:使用createElement来添加元素
元素的删除:如需删除 HTML 元素,您必须首先获得该元素的父元素,然后用removeChild来删除对应元素。

DOM0 事件和DOM2级在事件监听使用方式上有什么区别?

DOM0事件:DOM0事件是指直接将事件绑定在节点上,一个节点只能绑定一个事件,不然后面的灰覆盖前面的。
var oBtn = document.querySelctor('#btn');
oBtn.Onclick=function(){
console.log('a')
};
DOM2事件:DOM2级事件可以对一个元素绑定多个事件,后面的事件不会覆盖前面事件;可以通过参数true、false来设置事件在冒泡阶段或者捕获阶段触发事件。使用removeEventListener来删除事件。
oBtn.addEventListener("click",function(){
});
oBtn.removeEventListener("click",fn,false);

attachEvent与addEventListener的区别?

1.addEventListener和attachEvent的兼容性问题
addEventListener是符合W3C规范的事件绑定方法,FireFox、Chrome、Safari都是用它来绑定事件。
attachEvent是IE私有的,不符合W3C规范,而且在IE下,只能使用它来绑定事件,addEventListener是无效的。
所以,要想绑定事件,必须处理兼容性问题。
2.addEventListener和attachEvent的语法规则
addEventListener共有3个参数:element.addEventListener(type,listener,useCapture)
attachEvent共有2个参数:element.attachEvent(type,listener);
3.代码兼容处理
function regEvent(ele, event_name, fun)
{
if (window.attachEvent)
ele.attachEvent(event_name, fun); //IE浏览器
else
{
event_name = event_name.replace(/^on/, “”); //如果on开头,删除on,如onclick->click
ele.addEventListener(event_name, fun, false); //非IE浏览器
}
}

解释IE事件冒泡和DOM2事件传播机制?

IE事件冒泡:事件发生在触发元素上,从触发元素开始,事件向父元素一级一级传递,直到html元素。
DOM2事件:事件传播分3个阶段,捕获阶段,处于事件目标阶段,冒泡阶段。事件监听程序只能选择在捕获阶段或者冒泡阶段其中的一个阶段执行。
捕获阶段:事件发生时,先从根节点开始传递,一级一级向下找,知道目标元素。
冒泡阶段:从触发元素开始,事件向父元素一级一级传递,直到html元素

如何阻止事件冒泡? 如何阻止默认事件?

阻止事件冒泡:w3c 的方法是 e.stopPropagation(),IE 则是使用 e.cancelBubble = true。
阻止默认事件:w3c 的方法是 e.preventDefault(),IE 则是使用 e.returnValue = false。

问答

有如下代码,要求当点击每一个元素li时控制台展示该元素的文本内容。不考虑兼容

 
  • 这里是
  • 饥人谷
  • 前端6班

代码:

  • 这里是
  • 饥人谷
  • 前端6班

补全代码,要求:

1.当点击按钮开头添加时在这里是元素前添加一个新元素,内容为用户输入的非空字符串;当点击结尾添加时在

  • 前端6班
  • 后添加用户输入的非空字符串.
    2.当点击每一个元素li时控制台展示该元素的文本内容。

    • 这里是
    • 555
    • 666

    代码:

    • 这里是
    • 666
    • 555

    补全代码,要求:当鼠标放置在li元素上,会在img-preview里展示当前li元素的data-img对应的图片。

     
    • 鼠标放置查看图片1
    • 鼠标放置查看图片2
    • 鼠标放置查看图片3

    代码:

    • 鼠标放置查看图片1
    • 鼠标放置查看图片2
    • 鼠标放置查看图片3

    相信看了本文案例你已经掌握了方法,更多精彩请关注 第一PHP社区 其它相关文章!

    相关阅读:

    如何使用python来判断图片相似度

    用来下载图片的Javascript脚本

    以上就是JS的Dom与事件小结的详细内容,更多请关注 第一PHP社区 其它相关文章!


    推荐阅读
    • Voicewo在线语音识别转换jQuery插件的特点和示例
      本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
    • ECMA262规定typeof操作符的返回值和instanceof的使用方法
      本文介绍了ECMA262规定的typeof操作符对不同类型的变量的返回值,以及instanceof操作符的使用方法。同时还提到了在不同浏览器中对正则表达式应用typeof操作符的返回值的差异。 ... [详细]
    • 本文整理了常用的CSS属性及用法,包括背景属性、边框属性、尺寸属性、可伸缩框属性、字体属性和文本属性等,方便开发者查阅和使用。 ... [详细]
    • CSS|网格-行-结束属性原文:https://www.gee ... [详细]
    • css元素可拖动,如何使用CSS禁止元素拖拽?
      一、用户行为三剑客以下3个CSS属性:user-select属性可以设置是否允许用户选择页面中的图文内容;user-modify属性可以设置是否允许输入 ... [详细]
    • pyecharts 介绍
      一、pyecharts介绍ECharts,一个使用JavaScript实现的开源可视化库,可以流畅的运行在PC和移动设备上,兼容当前绝大部 ... [详细]
    • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
    • 本文讨论了Alink回归预测的不完善问题,指出目前主要针对Python做案例,对其他语言支持不足。同时介绍了pom.xml文件的基本结构和使用方法,以及Maven的相关知识。最后,对Alink回归预测的未来发展提出了期待。 ... [详细]
    • Python瓦片图下载、合并、绘图、标记的代码示例
      本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
    • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
      本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
    • 深入理解CSS中的margin属性及其应用场景
      本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
    • 分享css中提升优先级属性!important的用法总结
      web前端|css教程css!importantweb前端-css教程本文分享css中提升优先级属性!important的用法总结微信门店展示源码,vscode如何管理站点,ubu ... [详细]
    • 使用chrome编辑器实现网页截图功能的方法
      本文介绍了在chrome浏览器中使用编辑器实现网页截图功能的方法。通过在地址栏中输入特定命令,打开控制台并调用命令面板,用户可以方便地进行网页截图操作。 ... [详细]
    • 文章目录简介HTTP请求过程HTTP状态码含义HTTP头部信息Cookie状态管理HTTP请求方式简介HTTP协议(超文本传输协议)是用于从WWW服务 ... [详细]
    • 这个问题发生在重新安装系统后,丢失了之前的privatekey等。所以解决方法就是提示的revokeandrequest。到developercenter中找到certificat ... [详细]
    author-avatar
    懿子vae_742
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有