zoukankan      html  css  js  c++  java
  • 文档对象模型-DOM(二)

    从NodeList中选择元素

    方法一:item()方法,用于返回其中的单一节点,需要在方法的参数中指定所需元素的索引编号。

               当其中没有任何元素时,执行代码是对资源的浪费。因此程序员会在执行代码之前,先检查一下在NodeList中是否至少包含一个节点。

          可以使用length方法来实现。举例如下:

    1             var elements = document.getElementsByClassName('hot');
    2             if(elements.length>=0){
    3                 var firstItem = elements.item(0);
    4             }

    方法二:数组语法,可以使用括号语法来访问其中一个元素,就像访问数组中的单一项一样,需要在NodeList后面的中括号里指定所需的索引编号。举例如下:‘

    1             var elements = document.getElementsByClassName('hot');
    2             if(elements.length>=0){
    3                 var firstItem = elements[0];
    4             }

    使用class属性选择元素

     1 var elements = document.getElementsByClassName('hot'); // 找到class值为'hot'的所有元素
     2 if (elements.length > 2) {
     3   var el = elements[2];    // 选择第三个元素并缓存到el
     4   el.className = 'cool';   // 将第三个元素的值替换为'cool'
     5 }

    使用标签名选择元素 

    getElementsByTagName()方法
    1 var elements = document.getElementsByTagName('li'); // 找到<li>标签的多有元素
    2 if (elements.length > 0) {
    3   var el = elements[0];
    4   el.className = 'cool';
    5 }

    使用class选择器选择元素

      querySelector()  //返回第一个匹配的元素;querySelectorAll() //返回匹配的所有元素

    1 var el = document.querySelector('li.hot');
    2 el.className = 'cool';
    3 var els = document.querySelectorAll('li.hot'); 4 els[1].className = 'cool';

    循环遍历NodeList

    1 var hotItem = document.querySelectorAll('li.hot');
    2 for(var i=0;i<hotItems.length;i++){
    3     hotItems[i].className='cool';
    4 }

     对前后兄弟节点的操作

     html代码:

    1       <ul>
    2         <li id="one" class="hot"><em>fresh</em> figs</li>
    3         <li id="two" class="hot">pine nuts</li>
    4         <li id="three" class="hot">honey</li>
    5         <li id="four">balsamic vinegar</li>
    6       </ul>

    js代码:

    1 // Select the starting point and find its siblings.
    2 var startItem = document.getElementById('two');
    3 var prevItem = startItem.previousSibling;
    4 var nextItem = startItem.nextSibling;
    5 // Change the values of the siblings' class attributes.
    6 prevItem.className = 'complete';
    7 nextItem.className = 'cool';

    对子节点操作

     html代码同上

    js代码:

    1 // Select the starting point and find its children.
    2 var startItem = document.getElementsByTagName('ul')[0];
    3 var firstItem = startItem.firstChild;
    4 var lastItem = startItem.lastChild;
    5 // Change the values of the children's class attributes.
    6 firstItem.className = 'complete';
    7 lastItem.className = 'cool';

      

  • 相关阅读:
    Linux入门之系统启动
    2017.12.25 Android数据存储方案
    2017.12.18 Android开发之进程讲解
    2017.12.18 Android开发之消息队列(实现子线程修改UI组件)
    2017.12.4 Android开发之ListView组件
    2017.12.10 把KIE的jbpm_console嵌入到我们的web项目中
    2017.12.07 React组件嵌套以及for循环渲染子组件
    2017.12.07 React路由到不同组件界面
    2017.12.07 Ajax获取服务器数据并发送到前端
    B-树&B+树以及其在数据库中的应用
  • 原文地址:https://www.cnblogs.com/muqiangwei/p/5297911.html
Copyright © 2011-2022 走看看