博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DOM自定义元素属性与节点的操作以及元素的创建
阅读量:5875 次
发布时间:2019-06-19

本文共 1610 字,大约阅读时间需要 5 分钟。

hot3.png

元素自定义属性的获取、设置和移除

  • 获取:setAttribute
  • 设置:getAttribute
  • 移除:
    • 设置元素的className==''(此方式只能将元素的属性的值设置为空,属性还在)
    • removeAttribute(清除属性)
  • 试一试
    • 自定义tab栏切换(代码地址:)
    • 表格隔行变色

节点

认识节点

  • html文档中所有的内容都叫节点 |nodeType |节点的类型 | | -----| ---- | |1 |元素节点| |2 |属性节点| |3 |文本节点|

  • nodeName 节点的名称(标签名称)

  • nodeValue 节点值

  • 元素节点的nodeValue始终是null +当一个标签中有很多相同标签的时候可以直接通过getElementByTagName来获取,但是如果都是不同的标签该如何获取?

    • 通过获取节点的方式更方便
  • 文档(Document):就是指HTML或者XML文件

  • 节点(Node):HTML文档中的所有内容都可以称之为节点(元素,文本,属性)

  • 元素(Element):HTML文档中的标签可以称为元素,元素称为对象

  • 文档元素(根元素):文档中的第一个元素,HTML文档元素就是<html>

节点的层次

  • 父节点 parentNode

  • 子节点

    • childNodes IE8中会忽略空白节点,
    • children 返回元素节点非标准的dom方法,所有浏览器都支持,但是只获取元素节点
  • 兄弟节点 nextSibling,previousSibling

  • 第一个和最后一个子节点 firstChild,lastChild

  • 注意:firstElementChild,lastElementChild,previousElementSibling,nextElementSibling这些IE8不支持,这里可以写能力检测兼容代码,如果还不懂什么是能力检测兼容,可以参考一下我的另一篇博客:

设置、获取样式的方式

设置样式

  • className
  • style(也是对象)

获取样式

  • DOM的style属性只能获取标签中使用style设置的样式,无法获取嵌入或外部样式
  • style.cssText 获取style里面的字符串
  • 注意
    • style点出来的属性都是字符串类型
    • 能获取标签中的style的样式,不能获取嵌入和外部样式
    • 在style标签中设置样式的时候.有些属性是多个单词组合中间用-连接,但是在js中通过style.属性设置样式的时候,属性的名字如果是多个单词组合去掉-,后面的单词首字母大写即可.

动态创建元素

  • 方式一
    • document.write("字符串类型的标签拼接");
    • 缺点:会把页面中所有的内容替换掉
  • 方式二
    • 对象元素.innerHTML="字符串类型的标签拼接";
  • 方式三
    • document.createElement("标签名字");
    • appendChild(),removeChild(),insertBefore(),replaceChild()
  • 试一试 - 点击按钮动态创建表格(使用方式二和方式三其中一种)

注意点

  • cloneNode(true):获取所有的标签,false为只获取当前的标签。克隆后的返回值不是一个数组,而是某一个特定的节点。
  • appendChild:添加元素的子元素
  • 元素节点的值nodeValue是null,文本节点的名字是#text
  • nodeType(节点:元素节点,属性节点,文本节点)
  • nodeName:注意:文本节点的名字是#text
  • nodeValue:注意:元素节点的值是null
  • IE 8中忽略了空白节点,不支持firstElementChild
  • <a href="javascript:void(0)"></a>超链接不跳转

这些属性你懂了吗?

转载于:https://my.oschina.net/yxmBetter/blog/829624

你可能感兴趣的文章
设计模式学习笔记--原型模式
查看>>
.Net 通过MySQLDriverCS操作MySQL
查看>>
JS Cookie
查看>>
ubuntu Unable to locate package sysv-rc-conf
查看>>
笔记:认识.NET平台
查看>>
cocos2d中CCAnimation的使用(cocos2d 1.0以上版本)
查看>>
【吉光片羽】短信验证
查看>>
MacBook如何用Parallels Desktop安装windows7/8
查看>>
gitlab 完整部署实例
查看>>
GNS关于IPS&ASA&PIX&Junos的配置
查看>>
七天学会ASP.NET MVC (四)——用户授权认证问题
查看>>
upgrade to iOS7,how to remove stroyboard?
查看>>
影响企业信息化成败的几点因素
查看>>
SCCM 2016 配置管理系列(Part8)
查看>>
zabbix监控部署
查看>>
struts中的xwork源码下载地址
查看>>
Android硬件抽象层(HAL)深入剖析(二)
查看>>
CDays–4 习题一至四及相关内容解析。
查看>>
L3.十一.匿名函数和map方法
查看>>
java面向对象高级分层实例_实体类
查看>>