JavaScript HTMlL DOM对象(上)
Dom:document。相当于把所有的html文件,转换成了文档对象。
之前说过:html-裸体的人;css-穿上衣服;js-让人动起来。
让人动起来,就得先找到他,再修改它内容或属性。
- 找到标签
- 操作标签
一、查找元素
1、直接查找
- document.getElementById('i1') 根据ID获取一个元素
- document.getElementsByTagName('div') 根据标签名获取标签集合
- document.getElementsByClassName('div') 获取class多个元素(列表)
- document.getElementsByName 获取name多个元素(列表)
查找操作练习
- <body>
- <div id="1">我是FGF</div>
- <a>FFFFFFFFF</a>
- <a>27272727272</a>
- <a>gggggggggggg</a>
- </body>
- > document.getElementById('1')
- <div id="1">我是FGF</div>
- > document.getElementById('1').innerText
- "我是FGF"
- > document.getElementById('1').innerText = '新内容'
- "新内容"
- > document.getElementsByTagName('a')
- [a, a, a]0: aaccessKey: ""assignedSlot: nullattributes: NamedNodeMapbaseURI: "http://localhost:……"
- > document.getElementsByTagName('a')[1]
- <a>27272727272</a>
- > document.getElementsByTagName('a')[1].innerText = 666
- 666
- > tags = document.getElementsByTagName('a')
- [a, a, a]
- > for(var i=0;i<tags.length;i++){tags[i].innerText=777;}
- 777
2、间接查找
- parentNode // 父节点
- childNodes // 所有子节点
- firstChild // 第一个子节点
- lastChild // 最后一个子节点
- nextSibling // 下一个兄弟节点
- previousSibling // 上一个兄弟节点
- parentElement // 父节点标签元素
- children // 所有子标签
- firstElementChild // 第一个子标签元素
- lastElementChild // 最后一个子标签元素
- nextElementtSibling // 下一个兄弟标签元素
- previousElementSibling // 上一个兄弟标签元素
二、操作标签
1、内容操作
- 标签.innerText 获取标签中的文本内容
- 标签.innerText = "" 对标签内部文本进行重新复制
- outerText
- innerHTML HTML内容
- innerHTML
- value 值
2、样式操作(更改css相关的选择器)
- className
- tag.className='c1' 直接整体做操作
- tag.classList.add('c2') 添加指定样式
- tag.classList.remove('c2') 删除指定样式
- PS:onclick点击操作
- <div onclick='func();'>点我</div>
- <script>
- function func(){
- }
- </script>
三、示例
1、示例之模态对话框(弹出框)
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Title</title>
- <style>
- .hide{
- display: none;
- }
- .c1{
- position: fixed;
- left: 0;
- top: 0;
- right: 0;
- bottom: 0;
- background-color: black;
- opacity: 0.6;
- z-index: 9;
- }
- .c2{
- width: 500px;
- height: 400px;
- background-color: white;
- position: fixed;
- left: 50%;
- top: 50%;
- margin-left: -250px;
- margin-top: -200px;
- z-index: 10;
- }
- </style>
- </head>
- <body>
- <div>
- <input type="button" value="添加" onclick="ShowModel();" />
- </div>
- <!--遮罩层开始-->
- <div id="i1" class="c1 hide" ></div>
- <!--遮罩层结束-->
- <!--弹出框(模态框)开始-->
- <div id="i2" class="c2 hide">
- <p><input type="text" /></p>
- <p><input type="text" /></p>
- <p>
- <input type="button" value="取消" onclick="HideModel();" />
- <input type="button" value="确定" onclick="HideModel();" />
- </p>
- </div>
- <!--弹出框(模态框)结束-->
- <script>
- function ShowModel(){
- document.getElementById('i1').classList.remove('hide');
- document.getElementById('i2').classList.remove('hide');
- }
- function HideModel(){
- document.getElementById('i1').classList.add('hide');
- document.getElementById('i2').classList.add('hide');
- }
- </script>
- </body>
- </html>
2、示例之全选和反选以及取消
- checkbox
- 获取值
- checkbox对象.checked
- 设置值
- checkbox对象.checked = true
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Title</title>
- <style>
- .hide{
- display: none;
- }
- .c1{
- position: fixed;
- left: 0;
- top: 0;
- right: 0;
- bottom: 0;
- background-color: black;
- opacity: 0.6;
- z-index: 9;
- }
- .c2{
- width: 500px;
- height: 400px;
- background-color: white;
- position: fixed;
- left: 50%;
- top: 50%;
- margin-left: -250px;
- margin-top: -200px;
- z-index: 10;
- }
- </style>
- </head>
- <body style="margin: 0;">
- <div>
- <input type="button" value="添加" onclick="ShowModel();" />
- <input type="button" value="全选" onclick="ChooseAll();" />
- <input type="button" value="取消" onclick="CancleAll();" />
- <input type="button" value="反选" onclick="ReverseAll();" />
- <table>
- <thead>
- <tr>
- <th>选择</th>
- <th>主机名</th>
- <th>端口</th>
- </tr>
- </thead>
- <tbody id="tb">
- <tr>
- <td>
- <input type="checkbox" />
- </td>
- <td>1.1.1.1</td>
- <td>190</td>
- </tr>
- <tr>
- <td><input type="checkbox"f id="test" /></td>
- <td>1.1.1.2</td>
- <td>192</td>
- </tr>
- <tr>
- <td><input type="checkbox" /></td>
- <td>1.1.1.3</td>
- <td>193</td>
- </tr>
- </tbody>
- </table>
- </div>
- <!-- 遮罩层开始 -->
- <div id="i1" class="c1 hide"></div>
- <!-- 遮罩层结束 -->
- <!-- 弹出框开始 -->
- <div id="i2" class="c2 hide">
- <p><input type="text" /></p>
- <p><input type="text" /></p>
- <p>
- <input type="button" value="取消" onclick="HideModel();"/>
- <input type="button" value="确定"/>
- </p>
- </div>
- <!-- 弹出框结束 -->
- <script>
- function ShowModel(){
- document.getElementById('i1').classList.remove('hide');
- document.getElementById('i2').classList.remove('hide');
- }
- function HideModel(){
- document.getElementById('i1').classList.add('hide');
- document.getElementById('i2').classList.add('hide');
- }
- function ChooseAll(){
- var tbody = document.getElementById('tb');
- // 获取所有的tr
- var tr_list = tbody.children;
- for(var i=0;i<tr_list.length;i++){
- // 循环所有的tr,current_tr
- var current_tr = tr_list[i];
- var checkbox = current_tr.children[0].children[0];
- checkbox.checked = true;
- }
- }
- function CancleAll(){
- var tbody = document.getElementById('tb');
- // 获取所有的tr
- var tr_list = tbody.children;
- for(var i=0;i<tr_list.length;i++){
- // 循环所有的tr,current_tr
- var current_tr = tr_list[i];
- var checkbox = current_tr.children[0].children[0];
- checkbox.checked = false;
- }
- }
- function ReverseAll(){
- var tbody = document.getElementById('tb');
- // 获取所有的tr
- var tr_list = tbody.children;
- for(var i=0;i<tr_list.length;i++){
- // 循环所有的tr,current_tr
- var current_tr = tr_list[i];
- var checkbox = current_tr.children[0].children[0];
- if(checkbox.checked){checkbox.checked = false;}else{checkbox.checked = true;}}}
- </script>
- </body>
- </html>
3、示例之后台管理左侧菜单
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="UTF-8">
- <title>Title</title>
- <style>
- .hide{
- display: none;
- }
- .item .header{
- height: 35px;
- background-color: #2459a2;
- color: white;
- line-height: 35px;
- }
- </style>
- </head>
- <body>
- <div style="height: 48px"></div>
- <div style="width: 300px">
- <div class="item">
- <div id='i1' class="header" onclick="ChangeMenu('i1');">菜单1</div>
- <div class="content">
- <div>内容1</div>
- <div>内容1</div>
- <div>内容1</div>
- </div>
- </div>
- <div class="item">
- <div id='i2' class="header" onclick="ChangeMenu('i2');">菜单2</div>
- <div class="content hide">
- <div>内容2</div>
- <div>内容2</div>
- <div>内容2</div>
- </div>
- </div>
- <div class="item">
- <div id='i3' class="header" onclick="ChangeMenu('i3');">菜单3</div>
- <div class="content hide">
- <div>内容3</div>
- <div>内容3</div>
- <div>内容3</div>
- </div>
- </div>
- <div class="item">
- <div id='i4' class="header" onclick="ChangeMenu('i4');">菜单4</div>
- <div class="content hide">
- <div>内容4</div>
- <div>内容4</div>
- <div>内容4</div>
- </div>
- </div>
- </div>
- <script>
- function ChangeMenu(nid){
- var current_header = document.getElementById(nid);
- var item_list = current_header.parentElement.parentElement.children;
- for(var i=0;i<item_list.length;i++){
- var current_item = item_list[i];
- current_item.children[1].classList.add('hide');
- }
- current_header.nextElementSibling.classList.remove('hide');
- }
- </script>
- </body>
- </html>
JavaScript HTMlL DOM对象(上)的更多相关文章
- JavaScript HTMlL DOM对象(下)
DOM:document operation model 文档操作模型 每个标签都是一个对象. 一.查找元素 DOM 回顾 直接查找 var obj = document.getElementById ...
- 第四章 JavaScript操作DOM对象
第四章 JavaScript操作DOM对象 一.DOM操作 DOM是Document Object Model的缩写,即文档对象模型,是基于文档编程的一套API接口,1988年,W3C发布了第一级 ...
- JavaScript之DOM对象的获取
之前我们讲过JavaScript之DOM对象获取的两篇文章,本文是该系列文章之三,点击回顾上两篇文章能更好地理解本文.<JavaScript之DOM对象的获取(一)>: <JavaS ...
- JavaScript BOM DOM 对象
title: JavaScript BOM DOM 对象 tags: JavaScript --- browser object model document onject model BOM对象 w ...
- javaScript操作DOM对象(看三遍,敲三遍,写三遍! 不会你找我)!!
DOM是Document Object Model的缩写,即文档对象模型,是基于文档编程的一套API 使用javaScript操作DOM对象通常分为三类:1.DOM CORE 2.HTM ...
- JavaScript之DOM对象获取(1)
我们在操作html中的节点的时候,第一步就需要获取到对应节点(元素),才能有后续的操作.获取节点的方式有很多 1.document.getElementById(‘id值’) 通过id精确的选中某一个 ...
- JavaScript 操作DOM对象
1)JavaScript 操作DOM對象 1.DOM:是Document Object Model 的缩写,及文档对象模型 2.DOM通常分为三类:DOM Core(核心).HTML-DOM 和 ...
- 深入理解JavaScript系列(23):JavaScript与DOM(上)——也适用于新手
文档对象模型Document Object Model DOM(Document Object Model,文档对象模型)是一个通过和JavaScript进行内容交互的API. Javascript和 ...
- JavaScript与DOM(上)
本来像自己写一篇的...结果看到了Tom uncle的这篇..总结的确实很赞,其他文章也非常好推荐 转载自:http://www.cnblogs.com/TomXu/archive/2011/12/1 ...
随机推荐
- HttpClient来自官方的JSON扩展方法
System.Net.Http.Json Json的序列化和反序列化是我们日常常见的操作,通过System.Net.Http.Json我们可以用少量的代码实现上述操作.正如在github设计文档中所描 ...
- 【php】面向对象(二)
一. 封装: a) 描述:使用成员修饰符修饰成员属性和成员方法,能够最大限度的隐藏对象内部的细节,保证对象的安全 b) PPP修饰符:public(公共的),protected(受保护的),priva ...
- 如何在 Array.forEach 中正确使用 Async
本文译自How to use async functions with Array.forEach in Javascript - Tamás Sallai. 0. 如何异步遍历元素 在第一篇文章中, ...
- 来,让我们一起来学习VIM
什么是VIM vim是一个高度可定制的文本编辑器,被很多专业的程序员使用,并获得了程序员的一致好评. 下图是Vim的官网vim.org 你可以在Vim的官网免费下载并使用Vim,同样可以在Vim官网学 ...
- 使用tap、Fragment等相关相关知识点。实现类似微信的界面
实验结果,可以实现通过左右活动来切换不同的界面.也可以通过点击不同的下方按钮来实现切换不同的界面. 自己也添加了相关的自己编写的小页面来展示相关的效果.主要的是对于碎片Fragment对于tap的相关 ...
- MySQL学习之路4-数据的导入导出
数据的导入 通过数据库管理工具,先建表,然后导入表记录. 通过sql语句导入: load data local infile '表路径' into table stuscore fields term ...
- Google Adsense付款方式添加西联付款
本文已同步到专业技术网站 www.sufaith.com, 该网站专注于前后端开发技术与经验分享, 包含Web开发.Nodejs.Python.Linux.IT资讯等板块. Google Adsens ...
- Android Google Play app signing 最终完美解决方式
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/105561341 本文出自[赵彦军的博客] 在 GooglePlay 创建 App ...
- SQL数据类型:nchar,char,varchar,nvarchar 的区别和应用场景
概括: char:固定长度,存储ANSI字符,不足的补英文半角空格.CHAR存储定长数据很方便,CHAR字段上的索引效率级高,比如定义CHAR(10),那么不论你存储的数据是否达到了10个字节,都要占 ...
- 数据结构和算法(Golang实现)(18)排序算法-前言
排序算法 人类的发展中,我们学会了计数,比如知道小明今天打猎的兔子的数量是多少.另外一方面,我们也需要判断,今天哪个人打猎打得多,我们需要比较. 所以,排序这个很自然的需求就出来了.比如小明打了5只兔 ...