zoukankan      html  css  js  c++  java
  • JavaScript-----基础概念整理

    DOM Document对象属性和方法

    document.getElementById(elememtID)

    定义和用法

    这个方法可以返回拥有指定ID的第一个对象。如果没有指定ID的元素,则返回 null。如果存在多个指定ID的元素,则返回 undefined

    语法

    document.getElementById(elementID)

    例子

    <div id="dome"></div>
    <script>
        document.getElementById("demo");  //注意这里要加引号,因为参数值的类型是字符串形式
    </script>

    document.getElementByClassName(classname)

    定义和用法

    这个方法返回文档中所有指定类名的元素集合,作为NodeList对象。NodeList对象代表一个有顺序的节点列表。NodeList对象 可以通过节点列表中的节点索引号来访问列表中的节点(索引号从0开始)。NodeList对象拥有Length属性。具体操作可以得到指定类名的元素个数,并循环各个元素来获取想要的那个元素。

    语法

    document.getElementByClassName("className1 className2");  //注意加引号,获取多个类名使用空格分隔。还得改为 document.getElementsCalssName("class")--->因为是多个,添加 S

    例子

    <div class="demo1 demo2"></div>
    <dov class="demo1"></dov>
    <script>
    document.getElementsByClassName("demo1 demo2");
    var leng = document.getElementsByClassName("demo1").length;
    console.log(leng); //2
    </script>

    document.getElementName()

    定义和用法

    这个方法可以返回带有指定名称的对象集合。

    语法

    document.getElementByName("属性名称")  //还是得加引号

    例子

    <input type="text" name="headding" value="标题">
    <input type="text" name="headding" value="主体">
    <script>
    document.getElementByName("headding");
    var leng = document.getElementByName("headding").length;
    console.log(leng); //2
    </script>

    document.getElementByTagName()

    定义和用法

    这个方法返回带有指定标签名的对象的集合。参数值如果是 “ * ” 则返回文档所有元素。

    语法

    document.getElementByTagName("标签的名称")  //还是得加引号

    例子

    <input type="text" name="headding" value="标题">
    <input type="text" name="headding" value="主体">
    <script>
      document.getElementByTagName("input");
    </script>

    doucment.querySelector()

    定义和用法

    这个方法返回文档中匹配指定css选择器的一个元素。注意此方法仅仅返回匹配到指定选择器的第一个元素。如果要返回所有元素,可使用querySelectorAll()方法代替。

    语法

    document.querySelector("css selectors");  // 还是添加引号,但是要注意的是此处选择ID名称时名称前要加上 # 如(“#id”),选择Classm名称时要加上 . 如 (".class"),标签不变

    对于多个选择器,使用逗号隔开,如("h2,h3"),返回匹配的元素。(只返回多个选择器,匹配到的第一个)

    例子

    <input type='text' id='txt1' />
    <select id='select' onblur="num3">
        <option value='+'>+</option>
        <option value="-">-</option>
        <option value="*">*</option>
        <option value="/">/</option>
    </select>
    <input type='text' id='txt2' />
    <input type='button' value=' = ' />
    <input type='text' id='fruit' />
    <div class="demo1 demo2"></div>
    <dov class="demo1"></dov>
    <input type="text" name="headding" value="标题">
    <input type="text" name="headding" value="主体">
    <script>
    document.querySelector("#txt1");
    document.querySelector(".demo1");
    document.querySelector("input"); //返回此元素 <input type='text' id='txt1' />
    document.querySelector("div.demo2"); //返回此元素 <div class="demo1 demo2"></div>
    document.querySelector("input[value]") //返回此元素 <input type='button' value='='/>
    document.querySelector("select,input") //在文档中select前有一个inpout所以选择时,第一个找到的是谁,就返回谁,不再继续查找。
    </script>

    document.querySelectorAll()

    定义和用法

    这个方法返回文档中匹配指定css选择器的所有元素,返回NodeList对象。

    NodeList对象表示节点集合。可以通过索引访问,索引从0开始。可以使用对象的length属性,遍历所有元素,从而获取想要的元素,进行DOM操作。

    语法

    document.querySelectorAll("css selectors"); // 还是添加引号,但是要注意的是此处选择ID名称时名称前要加上 # 如(“#id”),选择Classm名称时要加上 . 如 (".class"),标签不变
    对于多个选择器,使用逗号隔开,如("h3,h4"),返回匹配的元素。(注意次选择器返回所有匹配到的元素

    例子

    <h1>一个 h1 元素</h1>
    <div>一个 div 元素</div>
    <p>一个 p 元素。</p>
    <p>另一个 p 元素。</p>
    <div class="example">
        <p>在 div 中的一个 p 元素。</p>
    </div>
    <span>
        <div>235424</div>
    </span>
    <p>修改了文档中所有 p 元素和 div 元素的背景颜色。</p>
    <button onclick="myFunction()">点我</button>
    <p><strong>注意:</strong>Internet Explorer 8 及更早版本不支持 querySelectorAll() 方法。</p>
    <script>
    function myFunction() {
        var x = document.querySelectorAll("p,div");
        var i;
        for (i = 0; i < x.length; i++) {
            x[i].style.backgroundColor = "red";
        }
    }
    </script>

     document.activeElement()

    定义和用法

    这个方法返回文档获取当前获得焦点的元素,就是当前被聚焦的元素。

    语法

    document.activeElement

    例子

    document.activeElement该对象可以获取当前页面活动的元素,比onfocus()事件范围更广一些,比如在树状图或者用frame框架嵌套页面时对某个frame当前正在活动的元素进行操作就可以用该元素获取。
    下面是部分代码:
    页面代码:
    <tr> <td style="color:#033d61"> <a id="role<%=i%>" href="roleInfo.jsp?roleId=<%=role.getRole_id() %>" target="roleInfo" style="color:#033d61"> <img alt="" src="images/page.gif" border="0px" ><%=role.getRole_name() %> </a> </td> </tr>
    脚本代码: <script> document.onclick = function(e) { //document.activeElement.style.color="red"; var l = <%=roles.size()%>; for (var i = 0; i < l; i++) { document.getElementById("role" + i).style.color = "#033d61"; } document.activeElement.style.color = "red"; } </script>

    addEventListener()

    定义和用法

    这个方法用于向文档添加事件句柄。也就是给DOM元素添加事件。

    语法

    document.addEventListener(event,  function,  useCapture)

    参数

    event 描述事件名称的字符串 注意不要使用“on”前缀,例如,使用“click”来取代“onclick”

    function 描述事件触发后执行的函数 当事件触发时,事件对象会作为第一个参数传入函数。事件对象的类型取决于特定的事件。例如,“click”事件属于MouseEvent(鼠标事件)对象

    useCapture 可选。布尔值,指定事件是否在捕获冒泡阶段执行 true事件句柄在捕获阶段执行 false默认。事件句柄在冒泡段执行

    例子

    简介
    
    “DOM2级事件”定义了两个方法,用于处理指定和删除事件处理程序的操作:addEventListener() 和 removeEventListener()。
    
    public override function addEventListener(type:String, listener:Function, useCapture:Boolean = false):void
    
    他们都接受3个参数:要处理的事件名、作为事件处理程序的函数和一个布尔值。最后一个布尔值参数如果是true,表示在事件捕获阶段调用事件处理程序;如果是false,
    表示在事件冒泡阶段调用事件处理程序。 使用
    1.事件添加 addEventListener 可以在一个元素上多次添加事件。就是新添加的事件不会覆盖已存在的事件。 var oDiv = document.getElementById("div1"); oDiv.addEventListener("click", function() { alert(this.id); }, false); oDiv.addEventListener("click", function() { alert("clicked me"); }, false); 点击oDiv节点后,先输出节点id“div1”,再输出“clicked me”。 2.事件移除 addEventListener() 添加的事件处理程序只能使用 removeEventListener() 来移除;移除时传入的参数与添加处理程序时使用的参数相同。
    这也就意味着通过 addEventListener() 添加的匿名函数将无法移除。
    var oDiv = document.getElementById("div1"); oDiv.addEventListener("click", function() { alert(this.id); }, false); oDiv.removeEventListener("click", function() { alert(this.id); }, false); // 无效 虽然 removeEventListener() 看似使用了相同的参数,但是实际上传入的那个是另一个完全不同的函数。所以如果想正确的移除事件,写法如下所示。 var oDiv = document.getElementById("div1"); var handler = function() { alert(this.id); } oDiv.addEventListener("click", handler, false); oDiv.removeEventListener("click", handler, false); // 有效 讨论 这里我们主要讨论 useCapture 参数的用法。首先看一段代码。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <div id="div1" style="background: blue; 100px; height: 100px;"> <div id="div2" style="background: red; 70px; height: 70px;"> <div id="div3" style="background: yellow; 50px; height: 50px;"></div> </div> </div> <script type="text/javascript"> var oDiv1 = document.getElementById('div1'), oDiv2 = document.getElementById('div2'), oDiv3 = document.getElementById('div3'); oDiv1.addEventListener('click', showBlue, true); oDiv2.addEventListener('click', showRed, false); oDiv3.addEventListener('click', showYellow, true); function showBlue(){ // alert("blue"); } function showRed(){ // alert("red"); } function showYellow(){// alert("yellow"); } </script> </body> </html> 点击div3之后,过程分为三个阶段: 捕获阶段: 外-->里 在div1处检测useCapture属性为true,即事件捕获阶段会触发事件,所以会执行程序,输出“blue”。在div2处检测useCapture属性为false,即事件冒泡阶段才会触发,
    所以不会执行程序。
    目标阶段: 目标到div3处,发现div3就是鼠标点击的节点, 所以这里是目标阶段。若有事件处理程序,则执行该程序,输出“yellow”。这里不论 useCapture 为
    true 还是 false
    冒泡阶段: 里
    -->外 在div2处检测useCapture属性为false,即事件冒泡阶段才会触发,所以会执行程序,输出“red”。在div1处检测useCapture属性为true,即事件捕获阶段会触发事件,
    所以不会执行程序。 程序的运行结果为:“blue”,“yellow”,“red”。

    adoptNode()

    定义和用法

    这个方法用于从另外一个文档中获取一个节点。

    节点可以是任何节点类型。

    注意:节点下的所有节点都会获取到

    注意:节点及其子节点会在源文档中删除

    提示:使用 document.importNode() 方法来拷贝节点,但源文档中的节点不删除。

    提示:使用 document.cloneNode() 方法来拷贝当前文档的节点,且节点不会被删除。

    语法

    document.adoptNode( node )

    例子

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title></title>
    </head>
    <body>
    
    <iframe src="//www.runoob.com/html/html-tutorial.html" style="height:380px;520px;"></iframe>
    
    <p>点击以下按钮获取 iframe 中 h1 节点,并显示在本页中。</p>
    
    <p><strong>注意:</strong> Internet explorer 8 及更早 IE 版本支持该方法。</p>
    
    <button onclick="myFunction()">点我</button>
    
    <script>
    function myFunction() {
        var frame = document.getElementsByTagName("IFRAME")[0]  //先获取到 iframe
    var h = frame.contentWindow.document.getElementsByTagName("H1")[0]; // 这表示iframe里的 h1元素。
        
      contentWindow属性能够以HTML对象来返回iframe中的文档,可以通过所有标准的 DOM 方法来处理被返回的对象。  
    var x = document.adoptNode(h); //得到 iframe 里的 h1元素获取到当前页面中。
    document.body.appendChild(x);
      
      
    }
    </script> </body> </html>

    anchors集合

    定义和用法

    anchors集合返回了当前页面的所有超级链接数组。

    语法

    document.anchors[].property

    例子

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title></title>
    </head>
    <body>
    
    <a name="html">HTML </a><br>
    <a name="css">CSS 程</a><br>
    <a name="xml">XML 教</a><br>
    <a href="/js/">JavaScript 教程</a>
    
    <p>锚的数量:
    <script>
    document.write(document.anchors.length); //只获取所有的 a元素。
    </script></p>
    
    </body>
    </html>

    cookie 属性

    定义和用法

    这个属性返回当前文档所有  键 、值 对的所有 cookies

    语法

    document.cookie

    例子

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>菜鸟教程(runoob.com)</title>
    </head>
    <body>
    
    与此文档相关的Cookies: 
    <script> document.write(document.cookie); </script> </body> </html>

    
    
  • 相关阅读:
    ‘Host’ is not allowed to connect to this mysql server
    centos7安装mysql
    further configuration avilable 不见了
    Dynamic Web Module 3.0 requires Java 1.6 or newer
    hadoop启动 datanode的live node为0
    ssh远程访问失败 Centos7
    Linux 下的各种环境安装
    Centos7 安装 python2.7
    安装scala
    Centos7 安装 jdk 1.8
  • 原文地址:https://www.cnblogs.com/Millet-23/p/9389876.html
Copyright © 2011-2022 走看看