当前位置: 首页 > 编程日记 > 正文

JS-DOM-元素节点

查看元素节点:
1、getElementById():通过 id 取到唯一节点;如果 id 重名,只能取到第一个
getElementByName(): 通过name属性
getElementByTagName(): 通过标签名
getElementByClassName(): 通过class名
 获取元素节点时,一定要注意:获取节点的语句,必须在 DOM 渲染完成之后执行。2种方式实现:
①将 JS 代码写在 body 之后
②将代码写到window.onload 函数之中
后面三个,取到的是数组格式,不能直接添加各种属性,而应该取出数组的每一个单独操作
例如: getElementByName("name1")[0].onclick = function

查看/设置属性节点:
1、查看属性节点:getAttribute("属性名");
2、设置属性节点:setAttribute("属性名","新属性值");

>>>查看和设置属性节点,必须先取到元素节点,才能使用
>>>setAttribute():在IE浏览器中可能会存在兼容性问题。比如在IE中不支持使用这个函数设置style/onclick等
样式属性和事件属性

>>>我们推荐使用点符号法代替上述函数:
eg:dom1.style.color="" dom1.style.οnclick="" dom1.style.src=""

查看设置文本节点:
1、 .innerText: 取到或设置节点里面的文字内容;
.innerHTML: 取到或设置节点里面的HTML代码
.tagName : 取到当前节点的标签名,标签名全部大写显示。


总结: JS 修改DOM节点的样式
1、使用setAttribute()设置class和style属性,但存在兼容性问题,
不提倡 div.setAttribute("class","cls1");

2、使用 .className直接设置class类,注意是 className而不是.class:
div.className="cls1"

3、使用 .style设置单个属性,注意属性名要使用 驼峰命名法:
div.style.backgroundColor="red";

4、使用.style 或 .style.cssText 设置多个属性样式:
div.style="background-color:red;color:yellow;"
div.style.cssText="background-color:red;color:yellow;"

【删除或替换节点】
1. 父节点.removeChild(被删节点): 删除父节点中的子节点;
2. 父节点.replaceChild(新节点,老节点): 使用新节点,替换掉老节点

【创建并新增节点】
 1. document.createElement("标签名"):创建节点 。需要配合 setAttribute设置各种新的属性;
 2. 父节点.appendChild(新节点):末尾追加方式插入节点
3. 父节点.insertBefore(新节点,目标节点):在目标节点前插入新节点.
4. 被克隆节点对象.cloneNode(true/false):克隆节点
 >>> 传入true: 表示克隆当前节点,以及当前节点的所有子节点;
 >>> 传入false或不传: 表示只克隆当前节点,而不克隆子节点。

【根据层次获取节点】

这些方法调用后面都不加括号,例如下述紧跟示例代码
 1 .childNodes: 获取元素的所有子节点。包括回车等文本节点。

.children: 获取当前元素的所有元素节点(只获取标签)。

 2 .firstChild: 获取元素的第一个子节点。包括回车等文本节点。
 .firstElementChild: 获取元素的第一个子节点。不包括回车等文本节点。
 .lastChild: 获取元素的最后一个子节点。包括回车等文本节点。
 .lastElementChild:获取元素的最后一个子节点。不包括回车等文本节点。
 3 .parentNode: 获取当前节点的父节点。
 4 .previousSibling: 获取当前节点的前一个兄弟节点;包括回车等文本节点。
 .previousElementSibling:获取当前节点的前一个兄弟节点;不包括回车等文本节点。
 5 .nextSibling: 获取当前节点的后一个兄弟节点;包括回车等文本节点。
 .nextElementSibling: 获取当前节点的后一个兄弟节点;不包括回车等文本节点。
 6 .getAttributes: 获取当前节点的属性节点。

 

转载于:https://www.cnblogs.com/yingyingh5/p/7716128.html

相关文章:

现代软件工程 第十章 【典型用户和场景】 练习与讨论

1. 讨论:下面的老板犯了什么错误? 只看用户的表面语言或行动还是不够的。我们还要找到用户语言行动背后的动机! (图像来源: http://www.weibo.com/funnyshoelace) 2. 是否要文档 有人说,我们敏捷的团队,就喜欢直接的面对面的交流&#xff0…

赠书 | 读懂生成对抗神经网络 GAN,看这文就够了

生成对抗神经网络(Generative Adversarial Nets,GAN)是一种深度学习的框架,它是通过一个相互对抗的过程来完成模型训练的。典型的GAN包含两个部分,一个是生成模型(Generative Model,简称G&#…

把Doc文档转换成rtf格式

先在项目引用里添加上对Microsoft Word 9.0 object library的引用。 using System; namespace DocConvert { class DoctoRtf { static void Main() { //创建一个word的实例 Word.Application newApp new Word.Application(); // 指定源文件和目标文件 object Source&quo…

中国书法的造型元素与原理 刘彦湖

为什么80%的码农都做不了架构师?>>> --------------------------------------------------------------------------------中国书法的造型元素与原理 刘彦湖 中国书法是用最基本的元素遵从中国人特有的形式原则建构起来的大厦。 对于元素及其品质的认…

融云任杰:强互动,RTC 下一个“爆点”场景 | 拟合

从无序中寻找踪迹,从眼前事探索未来。2021 年正值黄金十年新开端,CSDN 以中立技术社区专业、客观的角度,深度探讨中国前沿 IT 技术演进,推出年度重磅企划栏目——「拟合」,通过对话企业技术高管大咖,跟踪报…

推荐一个个人感觉比较有吸引力的网站

2019独角兽企业重金招聘Python工程师标准>>> 廖雪峰的官方网站 转载于:https://my.oschina.net/AaronCN/blog/294293

C# 2进制、8进制、10进制、16进制...各种进制间的轻松转换

在.NET Framework中,System.Convert类中提供了较为全面的各种类型、数值之间的转换功能。其中的两个方法可以轻松的实现各种进制的数值间的转换: Convert.ToInt32(string value, int fromBase): 可以把不同进制数值的字符串转换为数字&#x…

solrj操作单机solr

2019独角兽企业重金招聘Python工程师标准>>> 在目前的生产过程中全文检索技术应用越来越广,其中涌现了一批非常好得开源搜索引擎框架,如solr,elasticsearch等等。其中我工作使用最多的是solr,并在此对之前工作做一个总结。 solr的…

基于微软开源深度学习算法,用 Python 实现图像和视频修复

‍‍作者 | 李秋键编辑 | 夕颜出品 | AI科技大本营(ID:rgznai100)图像修复是计算机视觉领域的一个重要任务,在数字艺术品修复、公安刑侦面部修复等种种实际场景中被广泛应用。图像修复的核心挑战在于为缺失区域合成视觉逼真和语义合理的像素&…

C#实现光盘做启动盘

一 :编程思想 1、创建启动盘 插入要创建的启动盘,程序自动检测光驱中光盘,利用WMI(Windows管理架构:Windows Management Instrumentation)读取该光盘的序列号(具有唯一性)&#xf…

为云服务立规矩——首批可信云服务认证名单公布

俗话说,没有规矩不成方圆。在云服务蓬勃发展的今天,无论从规范行业发展,还是为用户提供保障,推动政府云服务采购的角度来说,云服务市场都需要立规矩。7月15日至16日,以“可信中国云,未来新生态”…

Java:多个文档合并输出到一个文档

多个文档合并输出到一个文档 方法:Java NIO package First;import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.nio.channels.FileChannel; import java.nio.channels.WritableByteChannel;public class Test {pu…

线性表之顺序表(C语言实现)

线性表是从数据元素的逻辑结构上定义的. 这种数据元素的逻辑结构的特征如下: 1.除开第一个和最后一个元素之外.所有元素都有一个前驱元素和后继元素. 2.第一个元素无前驱元素,但有后继元素. 3.最后一个元素有前驱元素,单无后继元素. 可以抽象为如下表述: 元素1元素2元素3元素4元…

C# POP3编程

POP3的使用很简单,所以.net没有向SMTP那样给出相应的类来控制. 废话少说,程序员最需要的使代码,:)! 1.打开VS.NET 2003. 2.新建一个WinForm Application. 3.添加命名空间 using System; using System.Drawing; using System.Collections; using System.ComponentModel; usi…

终于有人把 Python 讲清楚了!

Python因为其优越的特性广泛应用于数据分析、人工智能、Web开发、后端开发、自动化测试/运维、爬虫等领域,也得到了很多企业的青睐。甚至连BATZJ的技术大牛,都无可否认Python现在对于一个程序员发展的重要性!最近一两年,我身边也有…

ASP.NET Core的配置(5):配置的同步[设计篇]

本节所谓的“配置同步”主要体现在两个方面:其一,如何监控配置源并在其变化的时候自动加载其数据,其目的是让应用中通过Configuration对象承载的配置与配置源的数据同步;其二、当Configuration对象承载的配置放生变换的时候如何向…

C#分析数据库结构,使用XSL模板自动生成代码

<html> <head> <TITLE>分析数据库结构,自动生成代码</TITLE> <meta http-equiv"Content-Type" content"text/html; charsetgb2312"> </head> <frameset cols"237,767" rows"*"> <…

超棒整理 | Python 关键字知识点大放送

作者 | 黄伟呢来源 | 数据分析与统计学之美其实前面我已经为大家总结了《Python系统关键字 “超全总结” 及其 “含义”》。今天呢&#xff0c;我将对每一个关键字列出一个例子&#xff0c;供大家参考学习和记忆。1、and、or、notand、or、not关键字都是逻辑运算符&#xff0c;…

linux下java进程占用高问题分析过程

2019独角兽企业重金招聘Python工程师标准>>> 1.用top命令找出占用cpu高的进程&#xff0c;记录下pid 2.用top -H -p pid(上面的pid)查看该进和下各线程占用cpu的情况&#xff0c;找出占用cpu高的线程pid 3.printf "%x\n" pid(上面线程的pid)打印出对应的十…

AWS - Couldformation 初探

AWS里面&#xff0c;所有的管理界面的功能都可以通过API或者JSON脚本实现&#xff0c;这样的好处是很容易的就和cloudwatch一起实现各种HA和autoscaling的应用。豆子初次使用cloudformation&#xff0c;写了一个简单JSON来创建一个EBS的Volume。我的模板定义的很简单&#xff0…

清华团队让 AI 写诗“更上一层楼”,诗歌图灵测试迷惑近半数玩家

作者 | 黄珊来源 | 数据实战派比特币外挖无穷洞&#xff0c;机神犹未休。卡中窥币影&#xff0c;池里验沙流。屡载吸金主&#xff0c;孤深渍盗求。方知区块链&#xff0c;本是古来游。这首诗歌来自一支清华团队开发的古诗 AI。它的创作才华可不仅限于此。再看下面这首诗&#x…

js中Dom元素及获取方法

DOM基础对象documentdocument.documentElement html部分document.head document.titledocument.body body部分获取元素对象方法document.getElementById(); 通过id找到对象document.getElementsByTagName(); 通过标签名找到对象并放到数组集合中document.getElementsByNam…

JavaBean简单及使用

一、JavaBean简介 JavaBean是使用Java语言开发的一个可重用的组件&#xff0c;在JSP的开发中可以使用JavaBean减少重复代码&#xff0c;使整个JSP代码的开发更简洁。JSP搭配JavaBean来使用&#xff0c;有以下的优点&#xff1a; 1.可将HTML和Java代码分离&#xff0c;这主要是为…

华为发布《AR洞察与应用实践白皮书》,提出用5G点燃AR,用AR照亮5G

[中国&#xff0c;深圳&#xff0c;2021年06月17日] 今日&#xff0c;在华为共赢未来5GAR全球峰会&#xff08;Better World Summit&#xff09;上&#xff0c;华为运营商BG首席营销官蔡孟波&#xff0c;发表了主题演讲《5GAR&#xff0c;让梦想照进现实》&#xff0c;提出用5G…

C#中虚函数,抽象,接口的简单说明

虚函数&#xff1a;由virtual声明&#xff0c;它允许在派生类中被重写&#xff0c;要重写方法&#xff0c;必须先声名为virtual public class myclass { public virtual int myint() { 函数体&#xff1b;} } class myclass1:myclass { public override int myint() { 函数体1&…

【开源】博客园文章编辑器4.0版发布

源起 最近个人时间多起来了&#xff1b; 于是打算持续写一点东西&#xff1b; 前面写了两篇关于riot.js的东西&#xff1b; 被博客园的领导移出首页了&#xff1b; 原因之一是排版不整齐&#xff1b; 确实是不整齐&#xff0c;这我认&#xff0c; 然而&#xff0c;我自己可是博…

C#中Timer组件用法

Timer组件是也是一个WinForm组件了&#xff0c;和其他的WinForm组件的最大区别是:Timer组件是不可见的&#xff0c;而其他大部分的组件都是都是可见的&#xff0c;可以设计的。Timer组件也被封装在名称空间System.Windows.Forms中&#xff0c;其主要作用是当Timer组件启动后&am…

微软全球副总裁洪小文:应对数字化转型挑战,跨界共创正当时

2021年6月16日&#xff0c;以“跨界共创”为主题的第四届微软亚洲研究院创新论坛在北京举办。今年&#xff0c;大会讨论的主题围绕“跨界创新”&#xff0c;数十家来自不同行业的企业代表&#xff0c;与微软亚洲研究院的计算机科学家就跨领域融合创新、共创精神推进数字化转型、…

Away3d 骨骼动画优化

很多朋友说Away3D 的骨骼数限制在32根&#xff0c;确切的说应该是Stage3D 的限制。在 AGAL2.0之前 VC寄存器是128个&#xff0c;每个vc常量寄存器最大只能容纳4位&#xff0c;transform占用一个4*4的矩阵&#xff0c;所以如果把一个transform存进vc里面&#xff0c;需要到4个寄…

postgresql中COPY的用法

一.测试创建表&#xff1a;[postgrescacti ~]$ cat test.sql CREATE TABLE weather ( city varchar(80), temp_lo int, temp_hi int, prcp real,date date);二.导入test.sql文件生成表&#xff1a;testdb01> \i test.sql***(Single step mode: verify command)*************…