zoukankan      html  css  js  c++  java
  • javascript权威指南第11章 DOM扩展

    //javascript 权威指南 第三版 第11章 DOM扩展
    //取得body元素
    var body = document.querySelector("body");
    
    //取得ID为myDiv 元素
    var myDiv = document.querySelector("#myDiv");
    //取得类为selected 的第一个元素
    var selected = document.querySelector(".selected");
    //取得类为 button 的第一个图像元素
    var img = document.body.querySelector("img.button");
    
    //取得某div中的所有<em> 元素 类似于getElmenetsByTageNmae("em")
    var ems = document.getElementById("myDiv").querySelectorAll("em");
    
    //取得类为 selected 的所有元素
    var selecteds = document.querySelectorAll(".selected");
    
    //取得所有p 元素中所有strong 元素
    var strongs = document.querySelectorAll("p strong"); //获取 p 标签下 strong 元素
    
    var i, len, strong;
    
    for (i = 0, len = strongs.length; i < len; i++) {
        strong = strongs[i];
        strong.className = "important";
    }
    //元素是否匹配,如果是返回true
    document.body.MatchesSelector("body .page1");
    
    //11.2 元素遍历
    
    var element = document.body;
    var i, len, child = element.firstChild;
    while (child != element.lastChild) {
        if (child.nodeType == 1) { //检查是不是元素
            processChild(child);
        }
        child = child.nextSibling; //节点后的下一个(紧挨)节点
    }
    
    //11.3 HTML5
    //取得所有类中包含 username 和 current 的元素,类名先后顺序无所谓
    var allCurrentUsernames = document.getElementsByClassName("username current");
    
    //取ID 为 mydiv 的元素中带有类名 selected 的所有元素
    var selected = document.getElementById("mydiv").getElementsByClassName("selected");
    
    var div = document.getElementById("div");
    div.classList.remove("disabled"); //移除类
    div.classList.add("current"); //添加类
    div.classList.toggle("user"); //切换类
    
    if (div.contains("bd") && !div.classList.contains("disabled")) {
        //执行操作
    }
    //迭代类名
    for (var i = 0, len = div.classList.length; i < len; i++) {
        //操作
    }
    
    //11.3.2  焦点管理
    var button = document.getElementById("mybutton");
    button.focus();
    if (document.activeElement == button) {
        //true; 判定文档激活的节点
    }
    
    //11.3.5 自定义数据属性
    //<div id="mydiv" data-appId="12345" data-myname="Nicholas" ></div>
    var div = document.getElementById("div");
    //获取自定义属性值
    var appId = div.dataset.appId;
    var myname = div.dataset.myname;
    
    //设置值
    div.dataset.appId = 23556;
    div.dataset.myname = "Michael";
    
    //判定自定义属性是否存在
    if (div.dataset.myname) {
    
    }
    // scrollIntoView 方法是Html提供的标准方法,将元素移入视图内
    function scrollDiv() {
        var div = document.getElementById("myDiv");
        div.scrollIntoView(); //滚动到可见视图
        div.scrollIntoViewIfNeeded(true); //alignCenter=true 显示在视图窗口中部垂直方向
        //只有当元素不可见的情况下执行,如果在可见情况下不执行
        div.scrollByLines(30); // lineCount 将元素的内容滚动指定行高
        div.scrollByPages(1); // pageCount 将元素的内容滚动指定页面高度,具体高度由元素高度决定。
    }
    //<div id="topDiv" style="height:800px;">
    //<input type="button" onclick="scrollDiv();">
    //</div>
    //<div id="myDiv">
    //<ul>
    //  <li></li>
    //<li></li>
    //<li></li>
    //</ul>
    //</div>
    

      

  • 相关阅读:
    从0开始学FreeRTOS-(创建任务)-2
    从0开始学FreeRTOS-1
    linux(ubuntu)系统mysql-5.7 修改字符集
    腾讯云服务器简单环境配置
    linux系统ubuntu18.04安装mysql(5.7)
    ubuntu18.04从零开始配置环境(jdk+tomcat+idea)到使用idea开发web应用和servlet
    Eclipse为工具包关联源码(本例工具包为dom4j-1.6.1)
    关于c#(vs)dategridview控件继承不能修改的问题
    C语言写单链表的创建、释放、追加(即总是在最后的位置增加节点)
    c++邻接表存储图(无向),并用广度优先和深度优先遍历(实验)
  • 原文地址:https://www.cnblogs.com/ms_senda/p/11474166.html
Copyright © 2011-2022 走看看