• js中获取父节点,兄弟节点及处理属性节点


    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript">
    function getDom01(){
    var div = document.querySelector(".box");

    //得到属性 class属性
    console.log(div.className);
    //得到的是值
    console.log(div.getAttribute("class"));
    //得到集合
    var attrs = div.attributes;
    for(var i=0;i<attrs.length;i++){
    var attr = attrs[0];
    console.log(attr.value);
    }

    console.log("--------------------");
    console.log(div.nodeName);
    console.log(div.nodeType);
    console.log(div.nodeValue);

    //console.log(div)
    }

    function setAttr(){
    var div = document.querySelector(".box");
    div['test'] = "ttttt";
    //设置属性的值
    div.setAttribute("testtest","tttttt");
    //div.setAttribute("name","divdiv");
    div.name = "divdiv";
    div.removeAttribute("name");
    }

    function setTextText(){
    var div = document.querySelector(".box");
    //console.log(div.textContent)
    console.log(div.innerHTML);
    //改变文本里面的额内容
    div.innerHTML = "<h1>this is a innerHTML test</h1>";
    }

    /**
    *
    * 元素节点 属性节点 文本节点
    *
    * NodeName 元素名 属性名 #text
    *
    * NodeType 1 2 3
    *
    * NodeValue null 属性值 文本内容
    *
    */

    //得到所有的子元素
    function getChilds(_parent){
    var childs = [];
    if(_parent){
    var child = _parent.childNodes;
    for(var i=0;i<child.length;i++){
    var c = child[i];
    if(c.nodeType === 1){
    childs.push(c);
    }
    }
    }
    return childs;
    }

    function testGetChilds(){
    var childs = getChilds(document.querySelector(".box"));
    console.log(childs)
    }
    /**
    * 通用的得到上一个下一个元素
    */
    function getSibling(_dom,sibling){
    if(_dom){
    sibling = sibling || "nextSibling";
    _dom = _dom[sibling];
    while(_dom && _dom.nodeType != 1) {
    _dom = _dom[sibling];
    }
    return _dom;
    }
    return null;
    }

    //得到同级的下一个元素
    function getNextSibling(_dom){
    if(_dom){
    _dom = _dom.nextSibling;
    while(_dom.nodeType != 1){
    _dom = _dom.nextSibling;
    }
    return _dom;
    }
    return null;
    }

    function testGetSibling(){
    console.log(getSibling(document.querySelector(".box"),"previousSibling"))
    }
    //获取上一个节点
    function getPreviousSibling(_dom){
    return getSibling(_dom,"previousSibling");
    }

    function testStyle(){
    var div = document.querySelector("#box2");
    div.style.border = "1px solid red";
    }
    function testStyle1(){
    var div = document.querySelector("#box2");
    //改变样式的注意事项
    //当不是一个规则单词的时候
    div.style.border = "none";
    //用中括号赋值
    div.style["margin-left"] = "10px";
    //满足驼峰命名
    div.style.marginRight = "20px";
    }

    </script>
    </head>
    <body>
    <input type="button" onclick="getDom01()" value="getDom01"/>
    <input type="button" onclick="setAttr()" value="setAttr"/>
    <input type="button" onclick="setTextText()" value="setTextText"/>
    <input type="button" onclick="testGetChilds()" value="testGetChilds"/>
    <input type="button" onclick="testGetSibling()" value="testGetSibling"/>
    <input type="button" onclick="testStyle()" value="testStyle"/>
    <input type="button" onclick="testStyle1()" value="testStyle1"/>
    <hr/>
    <div class="box" name="div">
    <div id="box1" style="">
    <span>this is a span in div 1</span>
    <span>this is a span in div 2</span>
    </div>
    <div id="box2">
    <span>this is a span in div 1</span>
    <span>this is a span in div 2</span>
    </div>
    <div id="box3">
    <span>this is a span in div 1</span>
    <span>this is a span in div 2</span>
    </div>
    <div id="box4">
    <span>this is a span in div 1</span>
    <span>this is a span in div 2</span>
    </div>
    </div>
    </body>
    </html>
  • 相关阅读:
    爬虫必备的web知识
    pythoth 中常用的魔法方法
    Python数据分析matplotlib可视化之绘图
    前端(HTML)+后端(Django)+数据库(MySQL):用户注册及登录演示
    用python文件操作实现复制图片、视频
    彩票购买系统(26选5)-初级版本
    封装系统字符串内置函数,实现类似功能
    部署live555到云
    腾讯云:基于 Ubuntu 搭建 VNC 远程桌面服务
    2.Linux文件IO编程
  • 原文地址:https://www.cnblogs.com/hwgok/p/5739827.html
Copyright © 2020-2023  润新知