1、获取元素的方式总结

1、根据 id 的属性的值获取元素,返回值是一个元素对象

document.getElementById("id属性的值");

2、根据标签名获取元素,返回值是包含多个元素对象的伪数组

document.getElementsByTagName("标签名字");

下面的几个,有的浏览器不支持。

3、根据 name 属性的值获取元素,返回值是包含多个元素对象的伪数组

document.getElementsByName("name属性的值");

// 通过 name 属性获取元素适用于表单标签,基本标签没有 name 属性

//基本标签:div,p,h1,ul,li,br等

//表单标签:input, select,option,form,textarea,datalist,label等

 

4、根据 class 类样式的名字获取元素,返回值是包含多个元素对象的伪数组

document.getElementsByClassName("class类样式的值");
ie8等低版本浏览器不支持此方法。此方法属于 h5 的

5、根据 CSS 选择器获取元素,返回值是一个元素对象

document.querySelector("#id属性的值");
document.querySelector("标签的名字");
document.querySelector(".class类样式的值");

6、根据 CSS 选择器获取元素,返回值是包含多个元素对象的伪数组

document.querySelectorAll("#id属性的值");
document.querySelectorAll("标签的名字");
document.querySelectorAll(".class类样式的值");

注意:以上方法获取的元素的集合都是伪数组。

判断伪数组的方式是伪数组不能调用数组的方法。(Boolean(list.sort) == false)或者使用instanceof (list instanceof Array)。

伪数组怎么变为真数组?

定义一个空数组,把伪数组的所有内容复制过去即可。

注意点 知识点:

1,innerText 常用于双标签里面的文本获取,而 value 常指的是 单标签 如 input 里面得的文本。

2,阻止 a标签 跳转 在点击事件里面 添加 return false; 可以 a标签被点击事件 , 也可以是 a标签里面的 标签被点击事件。在事件里面添加 return false;

3,document.body 可以选中 body 标签,document 指的是 整个 html 包括的 页面。而 body 是html 下面的一个 子元素。

4,css 中的样式 如:background-color 在 js 下面操作样式时,要改写成 第一个字母大写的形式 如:backgroundColor。

5,通过 对象.className = “” 来设置样式。而不是 对象.class 。不像其他属性的 设置。

6,input 标签的 disabled ,文本框禁止被操作 。

2,innerText 和 textContent innerHTML

1、设置成对标签中文本内容:

innerText 属性是 IE8 标准属性,chrome,fireFox,IE8都支持。低版本火狐不支持

textContent 是W3C标准属性,chrome,firefox支持,IE8不支持。

2、获取成对标签中文本内容:

在 IE8 下使用 textContent 获取成对标签中文本内容,返回值为 undefined。

那么说明,浏览器不支持的属性的类型都为 undefined.

通过判断元素有无 textContent 属性(没有则元素的 textContent 属性为 undefined)来决定用 innerText 还是 textContent。

**innerText 属性:**设置和获取只能得到文本内容。

**innerHTML 属性:**不仅可以获得文本内容,还可以设置和获取 html 标签,让其显示或得到对应标签的格式。且任何浏览器都支持。

innerText  textContent 和 innerHTML 都可以设置文本内容,推荐使用 innerHTML。

innerHTML 和 innerText 是获取某个元素内部的内容,而outerHTML 和 outerText不仅获取某个元素内部的内容还包括这个元素本身内容。


内容摘录自:https://github.com/Daotin/Web/tree/master/04-DOM

DOM-基本概念及使用的更多相关文章

  1. JavaScript---网络编程(5)-自定义对象Json、Dom模型概念讲解

    这节博客主要讲解Dom模型概念~和JSON的简单介绍 首先,还是先上out.js的代码: function println(param){ document.write(param+"< ...

  2. DOM基本概念和操作

    1.基本概念 DOM是文档对象模型(TEXT),对象是指文档中的每一个元素. 2.Window对象操作 打开方式: _blank  在新窗口还是自身窗口. Window.open 也有返回值,返回值为 ...

  3. 从零开始学 Web 之 DOM(一)DOM的概念,对标签操作

    大家好,这里是「 Daotin的梦呓 」从零开始学 Web 系列教程.此文首发于「 Daotin的梦呓 」公众号,欢迎大家订阅关注.在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识 ...

  4. DOM的概念和简单应用:使用DOM解析XML数据

    概念:DOM是Document Object Model的简称,即文档数据模型. Oracle公司提供了JAXP(Java API for XML Processing)来解析XML.JAXP会把XM ...

  5. DOM的概念(1)

    什么是DOM? 通过 JavaScript,您可以重构整个HTML文档.您可以添加.移除.改变或重排页面上的项目.要改变页面的某个东西,JavaScript就需要对HTML文档中所有元素进行访问的入口 ...

  6. DOM的概念及子节点类型

    前言 DOM的作用是将网页转为一个javascript对象,从而可以使用javascript对网页进行各种操作(比如增删内容).浏览器会根据DOM模型,将HTML文档解析成一系列的节点,再由这些节点组 ...

  7. DOM的概念及子节点类型【转】

    前言 DOM的作用是将网页转为一个javascript对象,从而可以使用javascript对网页进行各种操作(比如增删内容).浏览器会根据DOM模型,将HTML文档解析成一系列的节点,再由这些节点组 ...

  8. js中BOM与DOM的概念与区别

    1.BOM 浏览器对象模型 提供了独立于内容而与浏览器窗口进行交互的对象.描述了与浏览器进行交互的方法和接口,可以对浏览器窗口进行访问和操作,譬如可以弹出新的窗口,改变状态栏中的文本,对Cookie的 ...

  9. [妙味DOM]第一课:DOM基础概念、操作

    知识点总结 childNodes.children子节点列表集合.nodeType节点类型.nodeName.nodeValue.attributes属性列表集合 childNodes和childre ...

  10. Javascript DOM基础(一)概念

    Dom基础概念: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" ...

随机推荐

  1. [转] xgboost

    还是不太明白,先mark一下 https://blog.csdn.net/v_july_v/article/details/81410574

  2. MySql8.0+全新身份验证方式

    我们在安装MySql8.0+的版本时MySql将会询问我们是否选择全新的身份验证方式,如下图 ⒈第一个是MySql推荐我们使用的强密码加密模式来进行身份验证 MySql8支持基于SHA256改进的更强 ...

  3. 【easy】479. Largest Palindrome Product

    Find the largest palindrome made from the product of two n-digit numbers Since the result could be v ...

  4. WebApi-2 自定义路由与默认路由

    向Web API添加路由 public static void Register(HttpConfiguration config) { //// Web API 配置和服务 //// 将 Web A ...

  5. SSM增删改查

    闲着无聊配置一遍SSM以及添加功能增删改查,如下图,其中坎坷也挺多!!! 1.工程如下图.(请忽略红叉,没有错误) 2.首先配置pom.xml文件. <project xmlns="h ...

  6. C# EntityFramework Code First 迁移 降级 回退到空数据库

    C# EntityFramework  Code First 迁移 降级 回退到空数据库 1.包管理器控制台-迁移 在包管理器控制台中运行 Enable-Migrations Add-Migratio ...

  7. 解决vuecli3.0构建的vue2.0项目在IE9可能出现的兼容性问题

    1,unit8Array等未定义问题 解决办法 <1>npm install @babel/polyfill <2>分别在main.js和vuex的主文件 import '@b ...

  8. mac下Android开发环境的配置

    近似一天的时间,终于把Android环境配置好了. 总结:主要问题在于android的网站是国外,下载东西的时候需要vpn才可以.所以会出现各种各样的问题. 环境:Android Studio + S ...

  9. python requests模拟登陆正方教务管理系统,并爬取成绩

    最近模拟带账号登陆,查看了一些他人的博客,发现正方教务已经更新了,所以只能自己探索了. 登陆: 通过抓包,发现需要提交的值 需要值lt,这是个啥,其实他在访问登陆页面时就产生了 session=req ...

  10. python 关于django 2.X from django.contrib.auth.views import login

    在学习注册用户的过程中,视图中下面的代码 from django.contrib.auth.views import login 启动django服务时,报错: ImportError: cannot ...