zoukankan      html  css  js  c++  java
  • Head first javascript(六)

    访问页面元素

    访问页面元素通常的一个做法是给标签加上一个id,然后可以通过getElementById()函数来实现,如:

    <div id = "sceneimg">...</div>
    
    var sceneDescription = document.getElementById("scenetext")
    

    还有一种方法是通过标签的名字来进行访问,getElementsByTagName()函数可以得到这个标签的所有页面元素,以数组的形式存储,按照在页面出现的先后顺序,如:

    <img ... src... >
    <img ... src... >
    <img id = "milk" src... >
    <img ... src... >
    
    //两种访问方式相同
    document.getElementById("milk")
    document.getElementsByTagName("img")[2]
    
    innerHTML

    通过getElementById()可以得到某一个id的对象,要进一步得到标签里面的文本内容则可以通过innerHTML属性,也可以对内容进行修改,如:

    document.getElementById("cake").innerHTML = "so <strong>good</strong>!";
    
    DOM: document object model

    网页的结构可以说是由一些结点(node)组成的,这些结点就是大大小小的标签,包括最外面的<html>到<head><body>等,再到里面的<div>这些。假设<html>为根结点,如果某个标签是嵌套在另一个标签里面的,那么在这棵结点树中这个标签就是另一个标签的后代。处在第一层的是document,然后到<html>,然后是各种嵌套的元素。每个元素有2个属性text和attribute,text是文本内容,是树中该元素的子结点,attribute是标签的一些属性.

    每个结点都有一些可以帮助遍历这棵树的属性,包括

    • nodeValue : 只是text或者attribute结点有
    • nodeType : document或者text,用数字表示
    • childNodes : 所有子结点的一个数组
    • firstChild
    • lastChild
    通过结点的方式修改text的内容

    可以分为三步来完成:

    1. 移除该结点的所有子结点
    2. 用需要替换的新文本text创建一个新的结点
    3. 将新的节点加到原来的结点中成为它的子结点

    如:

    var node = document.getElementById("story");
    while(node.firstChild)
        node.removeChild(node.firstChild);
    node.appendChild(document.createTextNode("new text");
    
    //其实作用相当与一句
    document.getElementById("story").innerHTML = "new text";
    
    CSS 和 DOM
    <span id = "decision1" class = "decision" onclick...></span>
    <span id = "decision2" class = "decision" onclick...></span>
    

    class是CSS组织渲染对象的一种方式,可以给"decision"这个类一些style

    <style type = "text/css">
    span.decision{
        font-weight...
        ...
        }
    </style>
    

    node对象里面的className属性可以访问到该结点的类class,也能够进行修改,如:

    document.getElementById("decision1").className = "decisioninverse";
    
    隐藏页面的某个对象

    可以修改style里面的visibility属性,如:

    document.getElementById("...").style.visibility = "visible";
    document.getElementById("...").style.visibility = "hidden";
    
  • 相关阅读:
    绝对有效 IntelliJ IDEA2019.2下载、安装及破解教程
    SpringBoot 打包成war包,部署到tomcat
    Spring Boot 项目实战(一)Maven 多模块项目搭建
    ImportBeanDefinitionRegistrar接口实现bean动态注入
    FactoryBean的实现原理与作用
    ClassPathBeanDefinitionScanner 说明
    InstantiationAwareBeanPostProcessor 分析
    Google Guava Cache 全解析
    二十三、并发编程之深入解析Condition源码
    InheritableThreadLocal详解
  • 原文地址:https://www.cnblogs.com/jolin123/p/3946895.html
Copyright © 2011-2022 走看看