zoukankan      html  css  js  c++  java
  • JS基础10-DOM访问HTML方式

    一、DOM

    1.DOM是文档对象模型(Document Object Model)的简称。当网页加载时,可以将结构化文档在内存中转换成对象的树。

    简单的说DOM并不是一种技术,而是一种访问结构化文档的一种思想。借助DOM模型,我们可以对DOM树进行修改、删除、新增等操作,让结构化文档动态化。

    DOM模型中的节点——文档可以说是由节点构成的集合。在DOM模型中有以下3种节点:

    1. 元素节点:各种标签就是这些元素节点的名称,例如<p><ul>
    2. 文本节点:文本节点总是被包含在元素节点的内部
    3. 属性节点:一般用来修饰元素节点就称之为属性节点。

    二、DOM访问HTML的方式

    DOM主要有两种方式来访问HTML。

    1. 根据ID访问HTML元素:通过document对象调用getElementById()方法来查找具有唯一id属性值的元素。 
    2. <title>无标题文档</title>
      <style>
      
          </style>
          <script type="text/javascript">
          function show(){
              var content1=document.getElementById('son1').innerText;
              var content2=document.getElementById('grandson2').value;
              var content3=document.getElementById('grandson3').value;
              var content4=document.getElementsByClassName('grandson4').value;
              alert(content1+"
      "+content2+"
      "+content3+"
      "+content4);
          }
          </script>
      </head>
      
      <body>
      <div id="oldfather">
          <div id="son1">
          <span>我是div块</span>
          </div>
          <div id="son2">
          <textarea name="" id="grandson2" cols="30" rows="10">好好学习,天天向上</textarea>
          </div>
          <div id="son3">
              <input type="text" id="grandson3" value="上我啊">
          </div>
          <div id="son4">
              <input type="button" class="grandson4" value="访问三个元素的内容" onClick="show()">
          </div>
      </div>
      </body>
      </html>
      第一种方式
    3. 2.利用节点关系访问HTML元素。常用的属性和方法如下:

    parentNode

    返回当前节点的父节点

    previousSibling

    返回当前节点的前一个兄弟节点

    nextSibling

    返回当前节点的后一个兄弟节点

    childNodes

    返回当前节点的所有子节点

    firstChild

    返回当前节点的第一个子节点

    lastChild

    返回当前节点的最后一个子节点

    getElementsByTagName(tagName)

    返回当前节点的具有指定标签名的所有子节点


    <!doctype html>
    <html>
    <head>
    <meta charset="utf-8">
    <title>使用节点关系查找HTML元素</title>
    <style type="text/css">
        /*以赵六为参照物*/
        #n4{color:red}
        </style>
    </head>
    
    <body>
    <ul id="names">
        <li id="n1">张三</li>
        <li id="n2">李四</li>
        <li id="n3">王五</li>
        <li id="n4">赵六</li>
        <li id="n5">小红</li>
        <li id="n6">小明</li>
    </ul>
    
    <input type="button" value="父节点" onClick="showContent(current.parentNode)">
    <input type="button" value="第一个子节点" onClick="showContent(current.parentNode.firstChild.nextSibling)">
    <input type="button" value="上一个节点" onClick="showContent(current.previousSibling.previousSibling)">
    <input type="button" value="下一个节点" onClick="showContent(current.nextSibling.nextSibling)">
    <input type="button" value="最后一个子节点" onClick="showContent(current.parentNode.lastChild.previousSibling)">
    <input type="button" value="得到所有li的元素个数" onClick="showCount()">
    <script type="text/javascript">
        var current=document.getElementById("n4");
        function showContent(target){
            alert(target.innerHTML);
        }
        function showCount(){
            alert(document.getElementsByTagName("li").length);
        }
    </script>
    </body>
    </html>
    第二种方式
  • 相关阅读:
    ElasticSearch Java API 增删改查操作
    ElasticSearch Java API连接报错NoNodeAvailableException解决方案
    Elasticsearch 使用Kibana实现基本的增删改查+mget批量查询+bulk批量操作
    Elasticsearch CentOS6.5下安装ElasticSearch6.2.4+elasticsearch-head+Kibana
    Elasticsearch 核心概念:NRT+索引+分片+副本
    Solr solrj4与solrj-7.7.2操作solrcloud
    Solr Centos6.5下搭建solr-7.7.2集群solrcloud+DIH操作
    分层图【p2939】[USACO09FEB]改造路Revamping Trails
    NOIP2018提高组模拟题(二)
    树链剖分【p3178】[HAOI2015]树上操作
  • 原文地址:https://www.cnblogs.com/LuckyGJX/p/8654666.html
Copyright © 2011-2022 走看看