DOM:暂时可以理解为找标签、改样式

1.BOM:

   记住location这个就可以:

    location.href  获得当前页面的URL

    location.href = "URL"   跳转到指定的页面

    location.reload  重新加载页面

2.JS操作DOM:

  1.找标签:

    1.基本查找:

      1.document.getElementById("ID值")

      2.document.getElementByClassName("class值")

      3.document.getElementsByTagName("标签名")

    2.间接查找:

      1.找父标签:

        1.document.parentElement

      2.找子标签:找到的可能是多个

        1.document.children

      3.第一个子标签:

        1.document.firstElementChild

      4.最后一个子标签:

        1.document.lastElementChild

      5.上一个兄弟标签:

        1.document.previousElementSibling

      6.下一个兄弟标签:

        1.document.nextElementSibling

  2.创建标签(非常重要)

    1.document.createElement("标签名")

  3.添加标签:

    1.在内部的最后添加

       document.appendChild("标签名")    

    2.在内部的某个标签的前面插入

       document.insertBefore(要插入的标签,哪个标签之前)

       

  4.替换标签:

      1.在父标签里面用新创建的标签替换指定的标签

        1.父标签.replaceChild(新创建的标签,指定的标签)

                        

  5.属性(内置属性)

    .属性名 = "属性值"

      var img = document.createElement("img")

      img.src = "URL"    

    .自定义的属性只能用:

      .setAttribute("s9","hao")

      .getAttribute("s9")

      .removeAttribute("s9")

  6.文本操作

    1.设置文本的内容

      1.设置文本的内容:

        .innerText = "  "

      2.设置标签内容

        .innerHTML = "<p>我是p标签</p>"

      3.innerText和innerHTML的区别:

        1:innerHTML       子标签和子标签的内容都取出来

        2:innerText     只取标签之间的文本内容

      

      

7.获取标签的值(input/select/textarea)

      input标签.value()

      select标签.value()  

      textarea标签.value()

          

       

      

      

    8.操作标签的样式

      1.通过class名去改变所有样式类

        1. .className         得到的是字符串

        2. .classList     得到的是数组

        

      2.使用classList操作样式

        1. .classList.contains("样式类")  判断包不包含指定的样式

        2. .classList.add("样式类")    添加指定的样式类

        3. .classList.remove("样式类")    删除指定的样式类

        4. .classList.toggle("样式类")   有就删除没有就添加

         

         

找标签案例:

  1.直接查找:

    以标签的属性id、标签的属性样式名、标签的名字

<div id="d1">div</div>
<p class="c1">p标签</p>
<p class="c2">第二个标签</p>

  2.间接查找:

    获取某一个标签,找它的子标签、兄弟标签、父标签等

<div id="d1">div</div>
<p class="c1">p标签</p>
<p class="c1">p标签2</p>
<p class="c2">第二个标签</p> <div id="d2">
<div id="d3">d2里面的d3</div>
<div id="d4">d2里面的d4</div>
</div>

<div id="d1">div</div>
<p class="c1">p标签</p>
<p class="c1">p标签2</p>
<p class="c2">第二个标签</p> <div id="d2">
<div id="d3">d2里面的d3</div>
<div id="d4">d2里面的d4</div>
<div id="d5">d2里面的d5</div>
</div>

  3.创建标签:

    唯一用的比较多的创建原生DOM语句,document.createElement("img");

    当前页面代码里多了一个img标签,但是后台代码是没有这个标签的,页面重新加载时,img标签不存在;

 此时页面上显示了一张图片

 

3.找到标签之后怎么改变样式:

注:对于含有中横线的CSS属性,将中横线后面的第一个字母改成大写即可。

   css:background-color,这里是backgroundColor

  

JS基础语法之DOM01(找标签、改属性样式)的更多相关文章

  1. JavaScript进阶 - 第2章 你要懂的规则(JS基础语法)

    第2章 你要懂的规则(JS基础语法) 2-1什么是变量 什么是变量? 从字面上看,变量是可变的量:从编程角度讲,变量是用于存储某种/某些数值的存储器.我们可以把变量看做一个盒子,盒子用来存放物品,物品 ...

  2. 【JS基础语法】---学习roadmap---6 parts

    JS基础语法---roadmap Part 1 - 2: Part 3 - 4:   Part 5 - 6

  3. GSAP JS基础教程--TweenLite操作元素的相关属性

    今天来学习用TweenLite操作元素的各种属性,以Div为例,其他元素的操作也是一样的,只是可能一些元素有它们的特殊属性,就可能不同罢了.   代码里用详细注释,我就不再重复啦,大家看代码就可以啦! ...

  4. jQuery基础之获取和设置标签元素属性

    jQuery基础之获取和设置标签元素属性方法,如下图: 代码实现: <script src="JS/jquery-1.12.4.min.js"></script& ...

  5. JS基础语法(二)

    目录 JavaScript基础语法(二) 八. 函数 1. 函数的概念 2. 函数的使用 声明函数 调用函数 3. 函数的封装 4. 函数的参数 函数的参数匹配问题 5. 函数返回值 6. argum ...

  6. JavaScript01 js基础语法,数据类型

    JavaScript的概述: 1.组成 三部分组成 ecmaScript 基础语法 (es5) dom document object model 文档对象模型 (操作html文档内容) bom bo ...

  7. 9.12/ css3拓展、js基础语法、程序基本知识、数据类型、运算符表达方式、语句知识点

    css3拓展: <display:none>  将某个元素隐藏       <visibility:hidden>  也是将某个元素隐藏 <display:block&g ...

  8. JS基础语法---总结

    JS是一门什么样的语言? 是一门解释性的语言 是一门脚本语言 是一门弱类型语言,声明变量都用var 是一门基于对象的语言 是一门动态类型的语言:            1. 代码(变量)只有执行到这个 ...

  9. js基础之DOM中元素对象的属性方法

    在 HTML DOM (文档对象模型)中,每个部分都是节点. 节点是DOM结构中最基本的组成单元,每一个HTML标签都是DOM结构的节点. 文档是一个    文档节点 . 所有的HTML元素都是    ...

随机推荐

  1. spring MVC 转发与重定向(传参)

    return "forward:index.jsp"; //转发  return "forward:user.do?method=reg5"; //转发 ret ...

  2. 用AJAX传值参数是中文时可能会乱码

    1.ajax代码 function SelectSemesterBySchYear() { // alert('sssssss'); var temp1 = document.getElementBy ...

  3. linux下svn 客户端使用方式

    输入 yes 开始 checkout服务器上的文件到本地目录 2.将文件 添加文件到某个目录下(是svn的服务器checkout下来的目录中) 3. 提交到服务器 4 .即可在服务器目录看到(wind ...

  4. MySQL数据库之DCL(数据控制语言)

    1.MySQL之DCL设置root指定的ip访问 进入mysql:mysql -uroot -p或者mysql -uroot -h127.0.0.1 -p(host默认为127.0.0.1) mysq ...

  5. python的异常捕捉

    你可能会说既然有万能异常Exception,那么我直接用上面的这种形式就好了,其他异常可以忽略 你说的没错,但是应该分两种情况去看 1.如果你想要的效果是,无论出现什么异常,我们统一丢弃,或者使用同一 ...

  6. C/C++ 公有函数无法返回私有的类对象解决方案

    { 能出这种错的说明还需要提升C++,增强对类的理解 解决方案:把你的私有的对象的私有的拷贝构造或者同类赋值改为公开的 }

  7. BZOJ 1084 (SCOI 2005) 最大子矩阵

    1084: [SCOI2005]最大子矩阵 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 3560 Solved: 1779 [Submit][Sta ...

  8. react 组件的生命周期 超简版

    组件从被创建到被销毁的过程称为组件的 生命周期: 通常,组件的生命周期可以被分为三个阶段:挂载阶段.更新阶段.卸载阶段: 一.挂载阶段 这个阶段组件被创建,执行初始化,并被挂载到DOM中,完成组件的第 ...

  9. 后缀自动机XJ

    后缀自动机初探(xiajiang) 后缀树\((Suffix Tree)\) 对于一个字符串,把它的所有后缀插入到\(Trie\)中就是一个后缀树. 当然字母存在边上,最终的点可以用一个特殊符号如:\ ...

  10. Jumpserver-1.5.2 安装步骤

    Jumpsever 是飞致云旗下的一块开源的堡垒机.在如今都在上云的趋势下,一款堡垒机非常重要. 官网:http://jumpserver.org/ GitHub:https://github.com ...