JS基础语法之DOM01(找标签、改属性样式)
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(找标签、改属性样式)的更多相关文章
- JavaScript进阶 - 第2章 你要懂的规则(JS基础语法)
第2章 你要懂的规则(JS基础语法) 2-1什么是变量 什么是变量? 从字面上看,变量是可变的量:从编程角度讲,变量是用于存储某种/某些数值的存储器.我们可以把变量看做一个盒子,盒子用来存放物品,物品 ...
- 【JS基础语法】---学习roadmap---6 parts
JS基础语法---roadmap Part 1 - 2: Part 3 - 4: Part 5 - 6
- GSAP JS基础教程--TweenLite操作元素的相关属性
今天来学习用TweenLite操作元素的各种属性,以Div为例,其他元素的操作也是一样的,只是可能一些元素有它们的特殊属性,就可能不同罢了. 代码里用详细注释,我就不再重复啦,大家看代码就可以啦! ...
- jQuery基础之获取和设置标签元素属性
jQuery基础之获取和设置标签元素属性方法,如下图: 代码实现: <script src="JS/jquery-1.12.4.min.js"></script& ...
- JS基础语法(二)
目录 JavaScript基础语法(二) 八. 函数 1. 函数的概念 2. 函数的使用 声明函数 调用函数 3. 函数的封装 4. 函数的参数 函数的参数匹配问题 5. 函数返回值 6. argum ...
- JavaScript01 js基础语法,数据类型
JavaScript的概述: 1.组成 三部分组成 ecmaScript 基础语法 (es5) dom document object model 文档对象模型 (操作html文档内容) bom bo ...
- 9.12/ css3拓展、js基础语法、程序基本知识、数据类型、运算符表达方式、语句知识点
css3拓展: <display:none> 将某个元素隐藏 <visibility:hidden> 也是将某个元素隐藏 <display:block&g ...
- JS基础语法---总结
JS是一门什么样的语言? 是一门解释性的语言 是一门脚本语言 是一门弱类型语言,声明变量都用var 是一门基于对象的语言 是一门动态类型的语言: 1. 代码(变量)只有执行到这个 ...
- js基础之DOM中元素对象的属性方法
在 HTML DOM (文档对象模型)中,每个部分都是节点. 节点是DOM结构中最基本的组成单元,每一个HTML标签都是DOM结构的节点. 文档是一个 文档节点 . 所有的HTML元素都是 ...
随机推荐
- 使用SpringBoot1.4.0的一个坑
时隔半年,再次使用Spring Boot快速搭建微服务,半年前使用的版本是1.2.5,如今看官网最新的release版本是1.4.0,那就用最新的来构建,由于部署环境可能有多套所以使用maven-fi ...
- PHP魔方解密
安装composer参考:https://www.runoob.com/w3cnote/composer-install-and-usage.html 常用的加密类型及特征 加密类型 加密特征 Zen ...
- cvErode和cvDilate腐蚀和膨胀函数
Erode腐蚀,Dilate膨胀,这两个形态学函数总是成对出现,前者可以消除较小独点如噪音,后者可以使不连通的图像合并成块. void cvErode( const CvArr* src, CvArr ...
- mysql 的特殊函数
1. FORMAT() 函数 函数用于对字段的显示进行格式化 语法: SELECT FORMAT(column_name,format) FROM table_name column_name 必需 ...
- 【转载】TCP拥塞控制算法 优缺点 适用环境 性能分析
[摘要]对多种TCP拥塞控制算法进行简要说明,指出它们的优缺点.以及它们的适用环境. [关键字]TCP拥塞控制算法 优点 缺点 适用环境公平性 公平性 公平性是在发生拥塞时各源端(或同一源端 ...
- python处理多线程之间事件通讯方法
一.什么是事件 每执行一个事情,肯定有该事情的执行后状态,那事件就是该事情发生的信号 在程序中,多线程之间需要通讯,而事件就是方便线程之间的通讯 案例: 1.服务器启动需要5秒 2.客服端启动后去链接 ...
- UVA 12412 A Typical Homework (a.k.a Shi Xiong Bang Bang Mang)
题目链接:https://vjudge.net/problem/UVA-12412 题目大意 略. 分析 比较大规模的模拟,注意输入输出,浮点数精度,还有排名相同的输出顺序,还有一些边界情况处理. 代 ...
- <jquery>滚动例子
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- HYNB Round 15: PKU Campus 2019
HYNB Round 15: PKU Campus 2019 C. Parade 题意 将平面上n*2个点安排在长度为n的两行上. 做法 首先可以忽略每个点之间的影响,只用考虑匹配即可 然后把所以点归 ...
- 初探Remax微信小程序
1.创建项目 npx degit remaxjs/template-wechat my-app cd my-app && npm install 2.运行项目 npm run dev ...