14表单操作
表单操作 获取表单 获取表单元素 通过常规方式 Document对象方式。document.getElementById('form')等。 通过Document的属性forms document.forms 返回结果为HTMLCollection。 通过表单的name名字。 此方法不推荐。因为在新版本的浏览器中可能不再支持。 如果返回结果为一个时类型为对象,多个时是集合。 获取表单组件元素 常规方式 Document对象方式。document.getElementById('form_input')等。 通过表单元素的属性elements 12var f = document.forms[0]console.log(f.elements) 表单操作 文本框的操作 选择当前文本框的所有内容 1234567<form action="#" id="myform"> <input type="text" id="username" name=& ...
13事件
事件类型 依赖于设备的输入事件:键盘事件和鼠标事件,这些事件都是直接和设备相关的。 独立于设备的输入事件:例如cick事件等,这些事件并没有直接与设备相关 用户界面的相关事件:用户界面事件属于较高级的事件,一般多用于表单中的组件。状 变化的相关事件:这些事件与用户行为无关,而是由网络或浏览器触发的。 特定API事件:这些事件多用于特定场景的实现,例如 HTML5中提供的拖放API中的事件等 与错误处理的相关事件 注册事件 注册事件指:就是将 Javascript函数与指定的事件相关联。 句柄:被绑定的函数成为该事件的句柄。 通过事件属性 123456<button id="btn1" onclick="fn()">按钮</button><script> function fn() { console.log('你终于点击了我') }</script> DOM中相关对象提供的事件属性 123456 ...
12样式操作
获取内联样式 1<p id="p1" style="color: red;">666</p> 内联样式即写在标签里的样式(返回文本类型) 12var pElement = document.getElementById('p1').getAttribute('style')console.log(pElement) 通过DOM对象获取。(返回对象) 12var pElement = document.getElementById('p1')console.log(pElement.style) 对象的方法如下: cssText 声明块的文本内容 length 属性数量 item() 属性名 getPropertyValue() 属性值 获取外联样式 12var stylesheetList = document.styleSheetsconsole.log(stylesheetList) 其中CSSRule对象包含一组css规则 ...
11Element对象
什么是Element对象 DOM的标准规范中提供了 Elementi对象,该对象提供了HTML页面中所有元素所具有的属性和方法。 DOM标准规范中提供了Node对象,主要是依靠DOM节点树结构访问和更新HTML页面的内容。 而DOM标准规范中提供了 Element对象,主要是依靠DOM元素树结构访问和更新HTML页面的内容。 定位元素 1234567<div class='container'> <div></div> <div></div> <div></div> <div></div> <div></div></div> getElementsByTagName 123var container = document.getElementsByClassName("container")[0]var elements = container.getElements ...
10Node对象
判断节点类型 节点类型 nodeName nodeType nodeValue Document文档节点 #document 9 null Element元素节点 元素节点的元素名 1 null Attr属性节点 属性节点的属性名 2 属性节点的属性值 Text文本节点 #text 3 文本节点的内容 获取父节点 获取父节点包括两个分别为 获取父节点:parenNode 获取指定节点的父节点,其父节点不一定是元素节点。 获取父节点元素:parentElement 获取指定节点的父元素节点,其父节点必须是元素节点。 通常情况下parentNode ≈ parentElement,但是特殊情况是<html>元素的父节点是document对象 获取子节点 firstChild 获取指定节点的第一个子节点 lastChild 获取指定节点的最后一个子节点 childNodes 获取所有的子节点,返回一个NodeList集合,但此集合为动态集合 12345var childNodes = parentElement.chi ...
09Document对象
什么是Document对象 document对象在DOM中代表了HTML页面 document也是DOM解析HTML页面的入口。 定位页面元素 定位页面元素常用的方法: 方法名 参数传入 作用 返回类型 示例 getElementById() ID名 通过页面元素的id属性值定位元素 单个节点,既是Node也是Element类型 getElementById('p1') getElementsByName() name 通过页面元素的name属性值定位元素 NodeList getElementsByName("pElement") getElementsByClassName() class 通过页面元素的class属性定位元素 HTMLCollection getElementsByClassName("pElements") getElementsByTagName() 元素名 通过元素的元素名定位元素 HTMLCollection getElementsByTagName("p" ...
08DOM相关概念叙述
何处使用script标签 <head>标签里 需要注意的是:浏览器是自上到下解析的。因此,如果涉及到包含获取页面元素的内容, 导致失败。解决方案如下: 123456<script> // 表示HTML页面加载完毕后, 做什么 window.onload = function () { // 所有的javascript代码编写在这里 }</script> 写在<body>元素的最下方 1234<body> <!-- 将<script>元素放置在相关HTML元素的后面, 或者<body>元素内的最后 --> <script></script></body> 什么是DOM DOM是个缩写,全称是 Document Object Model,被译为文档对象模型。 D表示Document,就是DOM将HTML页面解析为一个文档。同时提供了document对象。 O表示Object,就是DOM将HTML页面 ...
07JavaScript引用类型
引用类型 在JavaScript中,变量是某个对象的属性,函数是某个对象的方法 在浏览器环境里面,定义的全局变量就是window对象的属性 引用类型的分类 引用类型 描述 Date 类型 获取和设置当前日期时间 Math 类型 用于数学计算 Global 类型 全局对象,提供全局属性和全局方法 Array 类型 用于有序的存储多个值 RegExp 类型 用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具 Error 类型 用于匹配代码错误并提供对应提示内容 Function 类型 用于定义 JavaScript 中的函数 Object 类型 用于定义 JavaScript 中的对象 Date类型 创建一个Date类型的对象 123var date1 = new Date()var date2 = new Datevar date3 = Date() Date提供now()方法,可以得到一个从 1970 年1月1日 00:00:00 至当前系统时间的毫秒数值。 Date类型初始化时间也可以指定日期,语法 1var dat ...
06JavaScript作用域与对象
变量作用域 12345678910// 声明全局变量 - 全局作用域var msg = 100;// 声明局部变量 - 某个函数作用域function fn() { // 局部变量 - 只能在当前函数作用域中访问 var msg2 = 200; console.log(msg2,msg);}fn()console.log(msg) 变量提升 1234// 先调用后声明console.log(msg); //打印undefinedvar msg = 100;console.log(msg); //打印100 以上代码会先输出undefined然后输出100 。约等于以下写法 1234var msg;console.log(msg);msg=100;console.log(msg); 所以变量提升也就是变量的声明被提升了 即使我们在定义这个函数之前调用它,函数仍然可以工作。这是因为在 JavaScript 中执行上下文的工作方式造成的。 JavaScript 仅提升声明,而不提升初始化。如果你先使用的变量,再声明并初始化它,变量的值将是 undefined。变 ...
05JavaScript函数
函数声明 12345678// 函数声明方式function name() { // code}// 函数表达方式var name = function () { // code}; 函数与变量同名时的问题 使用函数声明方式时 变量会覆盖函数,与顺序无关 12345678var fn = "message";function fn() { return 100;}console.log(fn); //输出messagefn();//报错 TypeError: fn is not a function 使用函数表达式方式时 函数会覆盖变量(变量先声明,函数后声明),与顺序有关。 简单来说就是变量的重复声明 1234567var fn = "message";var fn = function () { return 100;};console.log(fn); //输出 [Function: fn] 所以我们的得出结论: 函数的声明方式和函数的 ...














