HTML DOM

作者: KaveeDJ | 来源:发表于2019-04-15 23:49 被阅读0次

    DOM:Document Object Model 文档对象模型,把html里面的各种数据当做对象进行操作

    节点的概念

    • DOM把所有的html都转换为节点
    • 整个html文档,是一个节点:[object HTTMLDocument]
    • 元素是节点:[object HTMLDivElement]
    • 元素属性是节点:[object Attr]
    • 元素内容是节点:[object Text]
    • 注释也是节点:

    获取节点

    • 通过id获取元素节点:
    var div1 = document.getElementbyId("d1")
    
    • 通过标签名称获取元素节点:
    var divs = document.getElementsByTagName("div")
    
    • 通过类名获取元素节点:
    var elements = document.getElementsByClassName
    
    • 通过表单元素的name获取元素节点:
    var elements = document.getElementsByName("userName")
    
    • <script>应该代码写在HTML之后,否则获取的时候还没有加载对象
    var div1 = documents.getElementById("d1");
    var attrs = div1.attributes;
    as[i].nodeName
    as[i].nodeValue
    
    • 获取内容节点:元素节点的childNodes[0]就是内容节点
    var div1 = document.getElementById("d1");
    var content = div1.childNodes[0];
    content.nodeName
    content.nodeValue
    

    节点的属性

    • nodeName
    • nodeValue
    • nodeType
    • 修改元素的文本内容:
    document.getElementById("d1").childNodes[0].nodeValue = "新内容"
    document.getElementById("d1").innerHTML= "新内容"
    
    • 获取元素上的属性值
    getAttribute("test")
    attributes["test"].nodeValue
    

    DOM样式:一个元素节点的style属性即对应的css

    • 隐藏和显示
    var d = document.getElementById("d");
    d.style.display = "none";
    

    DOM事件

    • 焦点事件:onfocus,onblur
    • 鼠标事件:onmousedown,onmouseup
    • 键盘事件:onkeydown(event),onkeypress(event)
    • 点击事件:onclick,ondblclick
    • 事件变化:onchange
    • 提交事件:onsubmit
    • 加载事件:onload
    • 当前组件:出发事件的组件this
    • 阻止事件的发生:onsubmit

    DOM节点关系

    • childNodes会包含文本节点
    • children会排除文本节点

    创建节点

    • 创建元素节点:createElement

    删除节点

    • 删除元素节点:先获取父节点,然后removeChild
    • 删除属性节点:先获取元素节点,然后removeAttribute

    替换节点

    • replaceChild:需要父节点,被替换的节点,新节点

    插入节点

    • 追加节点:
    • 在前方插入节点:

    常用场景

    • 页面的数据验证

    相关文章

      网友评论

          本文标题:HTML DOM

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