[前端学习]jsDOM部分学习笔记,第二天

操作标签属性

  • DOM想要直接获取或者操作标签中的属性,那么该属性必须要符合W3C规范才可以。如果想获取或者操作自定义的标签属性,那么就需要用到以下几个方法
  • 元素.getAttribute("属性名")可以获取标签中的任何属性,包括符合规范和自定义的
  • 元素.setAttribute("属性名","属性值")可以操作标签中的任何属性,包括符合规范和自定义的
  • 元素.removeAttribute("属性名")可以删除标签中的任何属性,包括符合规范和自定义的
  • 注意如果使用Attribute方法来操作标签,那么就相当于在标签中写,直接写对应属性和值就行

隔行变色案例注意点

  • 隔行变色是通过遍历集合,偶数显示偶数对应的样式,奇数显示奇数对应的样式。但是这里要注意,在我们眼中,第一行是0,在页面中第一行是1,正好是相反的。所以需要反向赋值类名才行。

常用的节点属性

  • 在页面所有的东西都是节点,根据标签嵌套关系又可以分为父节点,子节点,元素节点,属性节点,注释节点等。以下是几个常用的节点方法
  • 元素.parentNode获取该元素的父节点,父节点一定是元素节点
  • 元素.childNodes 获取该元素下的所有子节点
  • 元素.children 只获取该元素下的子元素节点
  • 元素.nextSibling 获取该元素的下一个兄弟节点
  • 元素.nextElementSibling 获取该元素的下一个兄弟元素节点
  • 元素.previousSibling 获取该元素的上一个兄弟节点
  • 元素.previousElementSibling 获取该元素的上一个兄弟元素节点
  • 元素.nodeType 获取该节点的类型
  • 元素.nodeValue获取该节点的值
  • 元素.nodeName获取该节点的名称
  • 元素.getAttributeNodes获取该元素的属性节点
  • 元素.firstElementChild获取该元素内部的第一个元素节点
  • 元素.appendChild(元素节点) 在元素内部的最后插入参数节点
  • 元素.insertBefore(元素节点,参照节点)在元素内部参照节点的前面插入参数节点
  • 元素.lastChild 获取元素内部的最后一个子节点
  • 元素.removeChild(元素节点)在元素内部移除参数节点
  • 元素.cloneNode(布尔值)克隆该元素,true是克隆元素以及它内部的所有节点,false是只克隆元素本身。注意:上面的插入和移除都是对元素直接进行操作,如果操作克隆的元素,则与原本元素没有任何关联。
  • 获取标签节点value返回值是null
  • 因为节点的知识点,多且比较杂,这里建议去看教案详细介绍

获取样式属性

  • 元素.style.样式名 通过元素的style属性可以获取到对应的样式值,但是这个只能获取到标签行内样式,返回的是样式具体值字符串。同理,使用style属性设置样式时,也是设置为行内样式,也是用字符串来赋值

动态创建HTML结构

  • 使用之前说过的innerHTML方法可以给元素内添加html结构,但是要注意这样赋值会覆盖掉原有的html的结构,要保留建议使用+=的方式
  • 另外大量创建html结构时,如果直接拼接非常消耗资源,所以建议使用以下两种方法:
    • 数组join方法优化字符串拼接,所有结构拼接完毕后再赋值通过innerHTML来赋值。
    • 使用document.createElement("标签名")方法来创建,追加到元素节点内部。这个方法一次只能创建一个标签,所以如果是内部嵌套的标签结构,需要依次创建,并追加到上一级标签内部。直到最后结果完善了,再追击到元素节点内部。

indexOf方法

  • .indexOF(匹配值)是字符串的方法,它会根据传入的参数来匹配字符串,如果有就返回其位置,位置计数与数字相同是从0开始,另外传入的参数即可以是单个字符也可以组合字符,它会把它们看做一个整体来匹配
  • 传入空字符默认匹配的位置是0,没有匹配项返回-1

几个DOM操作案例

  • 代码较长这里不做记录,必须理解透彻所有案例的逻辑思路,然后多写几遍,加深印象
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,713评论 1 92
  • 获取操作兄弟元素 元素.next()获取该元素下一个兄弟元素 元素.nextAll()获取该元素后面的所有兄弟元素...
    印象rcj阅读 1,832评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,280评论 19 139
  • “那个少年到底是谁?” “天网”基地秘密会谈室里,将军狠狠地盯着对面的少女,阴翳的眼神仿佛能滴出水一般。 洛溪修长...
    蜜语谜语阅读 1,580评论 0 1
  • 伟大的传说故事里,侗寨有一个寨花叫匿姑。每个侗寨都有寨花,这是不成文的优良传统。 匿姑那真是倾国倾城,左顾右盼之间...
    八寨老杨阅读 3,352评论 0 0

友情链接更多精彩内容