JavaScript笔记(5)
1.DOM操作
常用的DOM操作
document.getElementById(id);
//返回指定id的元素,通用
document.getElementsByTagName(tagName);
//返回带有指定标签名的对象的集合,通用
/* 不常用 */
getElementsByClassName(className);
//返回指定类名的元素集合,不兼容IE7、8,其他浏览器支持
getElementsByName();
//返回指定name属性元素的集合
DOM树中元素与元素之间的关系:父子、兄弟
假如现在有一个DOM元素为obj
找DOM节点
1.找父节点
/* 通用 */
obj.parentNode;
2.找兄弟节点
/* 不常用,应为不兼容 */
obj.nextSibling;//找obj“下一个”兄弟节点,这个属性只有IE7、8认识
obj.nextElementSibling;//找obj“下一个”兄弟节点,其他浏览器认识
obj.previousSibling;//找obj“上一个”兄弟节点,这个属性只有IE7、8认识
obj.previousElementSibling;//找obj“上一个”兄弟节点,其他浏览器认识
/* 兼容性写法:先通用 || 后IE7、8 */
var next = obj.nextElementSibling || obj.nextSibling;
var last = obj.previousElementSibling || obj.previousSibling;
3.找子节点
/* 找第一个子节点 */
obj.firstElementChild;通用
obj.firstChild;//只有IE7、8认识,不通用
/* 找最后一个子节点 */
obj.lastElementChild;//通用
obj.lastChild;//只有IE7、8认识,不通用
/* 兼容性写法:先通用 || 后IE7、8 */
var firstLi = obj.firstElementChild || obj.firstChild;
var lastLi = obj.lastElementChild || obj.lastChild;
/* 找所有子节点 */
obj.childNodes;//w3c标准,但会找到空文本的节点,不常用
obj.children;//非标准,只会计算“真正”的子元素,常用
DOM节点操作
在DOM操作里,所有的创建、插入、删除操作,都必须通过父节点来插入子节点和删除子节点
- 节点文本操作: 控制节点文本
(1) innerText: 会原封不动的显示字符串(不常用)
(2) innerHTML: 会解析这个字符串,如果该字符串中有HTML标记成分,就会被按照HTML的规范,将标记解析出来后显示(常用)
4.动态创建DOM节点
/* 尾部添加节点 */
var obj = document.createElement("tagName");
//此时只在内存里创建了节点,还没有写入HTML文档中
var fatherNode = document.getElementById("fatherId");
//拿到父节点
fatherNode.appendChild(obj);
//在父节点内部所有子节点尾部追加新建的节点
//此时节点才创建完成
/* 任意位置插入节点 */
var newChild = document.createElement("tagName");
var fatherNode = document.getElementById("fatherId");
var refChild = document.getElementById("refChild_Id");
fatherNode.insertBefore(newChild, refChild);//newChild: 新建节点 refChild: 参照节点
//在参照节点之前插入新节点,参照节点可以为null,此时新建节点会被插入尾部
/* 删除节点 */
var fatherNode = document.getElementById("fatherId");
var oldChidNode = document.getElementById("oldChild_Id");
fatherNode.removeChild(oldChildNode);
动态设置DOM元素的属性
写属性: obj.setAttribute("valueName","value");
读属性: obj.getAttribute("valueName");
2.控制样式
3.动画效果
JavaScript笔记(5)的更多相关文章
- [Effective JavaScript 笔记] 第4条:原始类型优于封闭对象
js有5种原始值类型:布尔值.数字.字符串.null和undefined. 用typeof检测一下: typeof true; //"boolean" typeof 2; //&q ...
- [Effective JavaScript 笔记] 第5条:避免对混合类型使用==运算符
“1.0e0”=={valueOf:function(){return true;}} 是值是多少? 这两个完全不同的值使用==运算符是相等的.为什么呢?请看<[Effective JavaSc ...
- [Effective JavaScript 笔记]第3章:使用函数--个人总结
前言 这一章把平时会用到,但不会深究的知识点,分开细化地讲解了.里面很多内容在高3等基础内容里,也有很多讲到.但由于本身书籍的篇幅较大,很容易忽视对应的小知识点.这章里的许多小提示都很有帮助,特别是在 ...
- [Effective JavaScript 笔记]第27条:使用闭包而不是字符串来封装代码
函数是一种将代码作为数据结构存储的便利方式,代码之后可以被执行.这使得富有表现力的高阶函数抽象如map和forEach成为可能.它也是js异步I/O方法的核心.与此同时,也可以将代码表示为字符串的形式 ...
- [Effective JavaScript 笔记]第28条:不要信赖函数对象的toString方法
js函数有一个非凡的特性,即将其源代码重现为字符串的能力. (function(x){ return x+1 }).toString();//"function (x){ return x+ ...
- 从头开始学JavaScript 笔记(一)——基础中的基础
原文:从头开始学JavaScript 笔记(一)--基础中的基础 概要:javascript的组成. 各个组成部分的作用 . 一.javascript的组成 javascript ECMASc ...
- 【原】javascript笔记之Array方法forEach&map&filter&some&every&reduce&reduceRight
做前端有多年了,看过不少技术文章,学了新的技术,但更新迭代快的大前端,庞大的知识库,很多学过就忘记了,特别在项目紧急的条件下,哪怕心中隐隐约约有学过一个方法,但会下意识的使用旧的方法去解决,多年前ES ...
- JavaScript笔记目录
JavaScript笔记目录 一.JavaScript简介 二.在HTML中使用JavaScript ...持续更新中,敬请期待
- 蛋糕仙人的javascript笔记
蛋糕仙人的javascript笔记:https://www.w3cschool.cn/kesyi/kesyi-nqej24rv.html
- JavaScript笔记(第一章,第二章)
JavaScript笔记(第一章,第二章) 第一章: <meta http-equiv="Content-Type" content="text/html; cha ...
随机推荐
- IO调度 | Linux块设备中的IO路径及调度策略
当文件系统通过submit_bio提交IO之后,请求就进入了通用块层.通用块层会对IO进行一些预处理的动作,其目的是为了保证请求能够更加合理的发送到底层的磁盘设备,尽量保证性能最佳.这里面比较重要的就 ...
- post请求导出Excel表格
axios.interceptors.response.use((response) =>{ if(response.config && response.config.resp ...
- ajax结合mysql数据库和smarty实现局部数据状态的刷新
效果状态:通过点击锁定状态实现状态锁定与不锁定之间的切换 1.主程序:01.php导入smarty和mysql类,取得数据导入列表模板 <?php include './include/M ...
- ios -转载-真机提示 iPhone has denied the launch request 问题
环境: 手机版本12.1,Xcode10.0问题: 真机时提示 iPhone has denied the launch request ,试过了的各种方法,最终解决方法如下:1. 2. 3.清理Xc ...
- MATLAB常用快捷键总结
MATLAB 命令栏显示处理的常用命令 清屏:clc 紧凑显示格式:format compact 宽松显示格式:format loose 数据高精度显示:format longG 数据低精度显示:fo ...
- EasyUI之toolTip
<a class="easyui-tooltip" title="提示框" href="http://www.baidu.com"&g ...
- Elasticsearch删除数据操作,你必须知道的一些坑
前两天有同事打电话问我,说ES删除数据有没有什么坑? 我当时就问,是删索引还是删索引里的数据?她回答说是删数据,我说查出这些数据直接删除就好了,没有什么坑... 后来想想,关于ES数据的删除,之前确实 ...
- iOS- UITextView禁止Emoji表情
UITextView代理方法:判断 -(void)textViewDidEndEditing:(UITextView *)textView{ if ([self stringContai ...
- IOS上的 Audio Memos SE 如何分享和传输录音到电脑?
Audio Memos SE 是 Audio Memos 的精简版 ,顾名思义就是少了很多实用功能.当初下载这个就是因为广告比较少一些,没有全屏幕的广告. 好了,录了音,想分享和传到电脑要怎么弄呢? ...
- sws office-强大小巧的开源office
sws office是一款由国际软件分享组织于2019年刚刚开发完成的一个开源office,目的是为了响应CR2019的号召,开发一个体积只有2.2MB,占用内存小,运行速度极快的office,它支持 ...