DOM学习

作者: 流星大石头 | 来源:发表于2017-07-22 14:46 被阅读9次

DOM:是文档对象模型,是一套操作HTML和XML文档的API

DOM的作用:

  1.找对象(元素)
  getElementById() //根据id属性获取一个DOM对象
  getElementsByTagName()//根据标签返回多个DOM对象
  H5中新增:
         1. getElementsByClassName() 通过类名获取元素,以类数组形式存在
         2.document.querySelector() 通过css选择器获取元素,返回匹配条件的第一个元素
         3.document.querySelectorAll() 通过CSS选择器获取元素,以类数组形式存在。
 DOM对象的属性和HTML的标签属性几乎是一致的
     src title className href
 DOM对象中的表单对象拥有的属性:
     type value checked selected disabled
 DOM对象的解析:
    innerHTML会把内容解析到DOM树上
    -获取标签之间的内容
    -设置标签之间的内容
2.设置对象的属性
  getAttribute()
 setAttribute()
 removeAttribute()
直接使用.属性的方式不可以设置自定义属性(IE除外),getAttribute什么时候都可以使用

设置元素的样式
  1.className
  2.style
      无论设置还是获取都只能操作行内样式
      DOM的style属性只能获取标签中使用style设置的样式
  无法获取嵌入或外部样式
  style.cssText获取style里面的字符串
style里面的常用属性:
  backgroundColor
  backgroundImage
  color
  width
  height
  border
  opacity
  注意DOM对象style的属性和标签中style内的值不一样,因为JS中-不能作为表示符
 h5新增:
          1、Node.classList.add('class') 添加class
          2、Node.classList.remove('class') 移除class
          3、Node.classList.toggle('class') 切换class,有则移除,无则添加
          4、Node.classList.contains('class') 检测是否存在class
Node指一个有效的DOM节点,是一个通称。

h5中可以自定义属性:
    在HTML5中我们可以自定义属性,其格式如下data-*="",例如
    data-info="我是自定义属性",通过Node.dataset['info'] 我们便可以获取到自定义的属性值。
    Node.dataset是以类对象形式存在的
    当标签的自定义属性格式为:data-my-name时,则需要以驼峰格式才能正确获取:Node.dataset['myName']
 <!--给标签添加自定义属性,必须以data-开头-->
    例子:
    <div class="box" title="盒子" data-my-name="zs" data-content="我是一个div">div</div>
    <script>
        var box = document.querySelector(".box")
        //获取标签的自定义属性 需要通过dataset[]方式来获取
        console.log(box.dataset["content"])
        //给自定义的属性赋值
        box.dataset["content"] = "这是一个测试而已"

        //当标签的自定义属性格式为:data-my-name时,则需要以驼峰格式才能正确获取:Node.dataset['myName']
        console.log(box.dataset['myName'])
3.动态的创建和删除元素
方式一:innerHTML
方式二:createElement()
方式三:document.write()

appendChild()
removeChild()
insertBefore()
replaceChild()
  4.动态的创建和删除表格
方式1
createElement()
方式2
rows                          (只读,table和textarea能用)
insertRow()              (只有table能调用)
deleteRow()           (只有table能调用)
cells                 (只读,table和textarea能用)
insertCell()               (只有tr能调用)
deleteCell()              (只有tr能调用)
5.事件-触发响应
  事件源
  事件名称
  事件程序

相关文章

  • Javascript 高级(二)

    DOM简单学习: 事件简单学习 BOM: DOM: 事件监听机制:

  • JavaScript-DOM访问方式

    学习JavaScript,少不了学习JavaScript中的DOM操作,本系列文章将会从DOM简介开始,讲解DOM...

  • Day10--DOM&BOM

    DOM简单学习:为了满足案例要求 事件简单学习 BOM DOM 事件监听机制

  • 19.DOM 进阶

    学习要点: 1.DOM 类型2.DOM 扩展3.DOM 操作内容 DOM 自身存在很多类型,在 DOM 基础课程中...

  • DOM学习

    1·什么是 DOM? DOM 是 W3C(万维网联盟)的标准。 DOM 定义了访问 HTML 和 XML ...

  • DOM学习

    DOM文档对象模型 *这是个列表+这是另一个列表

  • DOM学习

    DOM:是文档对象模型,是一套操作HTML和XML文档的API DOM的作用:

  • DOM学习

    我们只有通过DOM节点,才能对HTML文档进行操作性访问,而且注意:所有 HTML 元素被定义为对象。所有JS操作...

  • DOM学习

    一些常用的 HTML DOM 方法:getElementById(id) - 获取带有指定 id 的节点(元素)a...

  • web 4.JavaScript高级

    今日内容: DOM简单学习:为了满足案例要求 事件简单学习 BOM: DOM: 事件监听机制:

网友评论

      本文标题:DOM学习

      本文链接:https://www.haomeiwen.com/subject/kqdukxtx.html