JavaScript学习笔记——DOM_对document对象的内容、属性、样式的操作
javascript-对文档对象的内容、属性、样式的操作
一、操作内容
1. innerHTML 用来设置或获取对象起始和结束标签内的内容(识别html标签)
2. innerText 用来设置或获取对象起始和结束标签内的内容 (兼容IE,获取文本)
textContent用来设置或获取对象起始和结束标签内的内容 (兼容FF,获取文本)
注意区别innerHTML和innerText,第一个会识别样式,第二个只会识别文本
但是在FF中不兼容,要使用textContent,以下是兼容函数
支持document.all的是IE
function getContent (objs,val) {
if(document.all){
if(val){
objs.innerText=val
}else{
return objs.innerText
}
}else{
if(val){
objs.textContent=val
}else{
return objs.textContent
}
}
}
window.onload=function () {
var div1=document.getElementById("div1");
var div2=document.getElementById("div2");
var but=document.getElementById("but");
but.onclick=function () {
//var contents=div1.innerHTML;
//div2.innerHTML=contents;
var contents=getContent(div1)
getContent(div2,contents);
}
}
<div class="one" id="div1">
<h3>
欢迎收看后盾网视频教程,收看高清版请登录后盾网论坛!
</h3>
</div>
<input type="button" value="↓↓" id="but" >
<div class="two" id="div2">
</div>
3. outerHTML 用来设置或获取包括本对象在内起始和结束标签内的内容(识别html标签)
outerText 用来设置或获取包括本对象在内起始和结束标签内的内容
二、操作属性
1.直接操作
对象.属性
对象.属性=值 (设置、获取、添加属性(属性值))
2.获取和设置
getAttribute("属性") 获取给定的属性的值
setAttribute("属性","值") 设置或是添加属性
window.onload=function () {
var links=document.getElementsByTagName("a")[0];
//alert(links.href)
//links.href="2.html";
//alert(links.title)
//links.title="后盾网";
//links.title="后盾网";
//getAttribute("属性") 获取给定的属性的值
// setAttribute("属性","值") 设置或是添加属性
alert(links.getAttribute("href"))
links.setAttribute("href","2.html")
}
三、操作样式
1.行内样式
对象.style.属性
对象.style.属性=值 (设置、获取、添加属性)
window.onload=function () {
var one=document.getElementById("one");
one.onmouseover=function () {
//alert(one.style.color)
one.style.color="blue";
one.style.backgroundColor="red";
one.style.fontSize="13px";
}
one.onmouseout=function () {
one.style.color="red";
one.style.backgroundColor="blue";
one.style.fontSize="11px";
}
}
<a href="#" style="color:red;background-color:blue;padding:3px" id="one">链接</a>
****************************************************
遇到属性是"-"链接的,要将"-"去掉,后面的单词的首字母大写
****************************************************
2.css层叠样式
1>通过更改ID来更改样式(一般不用,不更改ID)
<style>
#one{
width:200px;
height:200px;
border:1px solid red;
color:red;
font-size:14px;
padding:24px;
}
#two{
width:200px;
height:200px;
border:1px solid blue;
color:blue;
font-size:19px;
padding:15px;
}
</style>
<script>
window.onload=function () {
var one=document.getElementById("one");
var but=document.getElementById("but");
but.onclick=function () {
one.id="two";
} }
</script>
<div id="one" class="div1">
欢迎收看后盾网视频教程,下载高清版请到后盾网论坛下载,bbs.houdunwang.con;
</div>
<input type="button" value="更改样式" id="but">
2>通过className更改样式
<style>
.div1{ height:200px;
border:1px solid red;
color:red;
font-size:14px;
padding:24px;
}
.div2{
width:200px;
height:200px;
border:1px solid blue;
color:blue;
font-size:19px;
padding:15px;
}
</style>
window.onload=function () {
var one=document.getElementById("one");
var but=document.getElementById("but");
but.onclick=function () {
one.className="div2";
}
}
<div id="one" class="div1" style="width:200px">
欢迎收看后盾网视频教程,下载高清版请到后盾网论坛下载,bbs.houdunwang.con;
</div>
<input type="button" value="更改样式" id="but">
*******************************************
适合批量更改
*******************************************
3>更改或者获取或者设置某个属性的值
**************************************************************
document.styleSheets[下标].rules[下标].style.属性
document.styleSheets[下标].rules[下标].style.属性=值
document.styleSheets 样式表的集合,即是<style></style>的数量
document.styleSheets[0].rules 样式规则的列表,即其中的<div>等的个数
document.styleSheets[0].rules.style 样式规则的集合
document.styleSheets[下标].rules[下标].style.属性
alert(document.styleSheets[0].rules[0].style.width)
适用于IE
**************************************************************
**************************************************************
document.styleSheets[下标].cssRules[下标].style.属性
document.styleSheets[下标].cssRules[下标].style.属性=值
适用于FF
***************************************************************
4> 动态的添加删除css样式规则
document.styleSheets[下标].insertRule("选择器{属性:值}",位置) FF w3c
deleteRule(位置) FF w3c
document.styleSheets[下标].addRule("选择器","属性:值",位置) IE removeRule(位置) IE
//document.styleSheets[0].addRule(".div1","margin:200px",0);
//document.styleSheets[0].removeRule(1);
3.行内样式和css层叠样式通用的方式
对象.currentStyle.属性 IE 用来获得实际的样式属性
getComputedStyle(对象,null) FF 用来获得实际的样式属性
//对象.currentStyle.属性 IE 用来获得实际的样式属性
//getComputedStyle(对象,null) FF 用来获得实际的样式属性
//alert(one.currentStyle.width)
alert(getComputedStyle(one,null).width)
*******************************
只能获取不能设置
*******************************
JavaScript学习笔记——DOM_对document对象的内容、属性、样式的操作的更多相关文章
- JavaScript学习笔记(三)——对象
第四章 理解对象 1 说明 对象的状态:属性,行为:方法: 对象定义放在花括号内: 用冒号分隔属性名和属性值: 用逗号分隔属性名和属性值对,包括方法: 最后一个属性值后面不加逗号: 属性名可以是任何字 ...
- DOM学习笔记(二)对象方法与属性
所有 HTML 元素被定义为对象,而编程接口(对象的访问)则是对象方法和对象属性. 事实上,常用的只用window对象及其子对象document对象,以及事件Event对象. Window 对象 Wi ...
- JavaScript学习笔记(一)对象和属性
对象属性的使用 JavaScript中的所有变量都可以当做对象使用,除了null和undefined. false.toString(); // 'false' [1, 2, 3].toString( ...
- JavaScript:学习笔记(8)——对象扩展运算符
JavaScript:学习笔记(8)——扩展运算符 对象的扩展运算符 扩展运算符是三个点(...).用于取出参数对象的所有可遍历属性,然后拷贝到当前对象之中. 如上图所示,新建了一个对象a,然后通过扩 ...
- Java程序猿的JavaScript学习笔记(8——jQuery选择器)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- Java程序猿的JavaScript学习笔记(12——jQuery-扩展选择器)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- Java程序猿的JavaScript学习笔记(汇总文件夹)
最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...
- Java程序猿JavaScript学习笔记(2——复制和继承财产)
计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...
- Java程序猿的JavaScript学习笔记(3——this/call/apply)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
随机推荐
- Java网络编程——IP
类:InetAdrress 该类主要用于表示互联网协议(IP对象)地址,且无构造方法 主要方法: public static InetAddress getLocalHost()-->返回本地主 ...
- Linux 下以其他用户身份运行程序—— su、sudo、runuser
本文综合分析了Linux系统下,如何使用runuser命令.su命令和sudo命令以其他用户身份来运行程序,以及这三个命令的运行效率比较. 一.su 命令临时切换用户身份 SU:( Switch ...
- java之自定义回调接口
本质上为:传递不同的实现的接口实例,执行不同的程序,即有扩展性. 在一个方法中,可以实现一个对象中的接口,实例化该接口,即可完成对不同对象的不同回掉. 在原有类中,调用接口中的方法,根据不同的接口实例 ...
- Linux服务器配置git服务
前言 Git是一个非常著名的分布式版本控制系统,而广大开发者更是习惯在最大的远程仓库GitHub上提交自己的代码.但是有时候,一些小项目不值得放到GitHub上去,或是由于隐私问题不好在GitHub的 ...
- 在 ASP.NET 中执行 URL 重写的方法
由于需要我们经常会想将动态的页面做成伪静态的,或者在get传值的时候使其简洁明了(实现“可删节”的URL),这时我们需要用到URL重写,微软的MSDN上有详细的原理和使用介绍.我这里就将一种简单的使用 ...
- hadoop,mapreduce---分布式计算
从图中可以看出,map阶段的shuffle: 例如word count,当内存缓冲区满的时候会写到磁盘,一个spill,每个spill,进行分区,排序,最后将同一个分区word合并在一起,写入到磁盘中 ...
- Boundary Following Algorithm
又一个精妙的算法. 输入: 组成一个region, 或者它的boundary的点集\(P\) 输出: 这个region 顺时针(或相反)的有序排列的边界点. 算法详细: 见图. 详见 DIP 11.1 ...
- js ajax请求
var XMLHttpReq; function createXMLHttpRequest() { try { XMLHttpReq = new ActiveXObject("Msxml2. ...
- 7款应用最广泛的Linux桌面环境盘点
转载:http://top.jobbole.com/34823/ 多样性应该是 Linux 最好的特性之一,用户可以不断尝试各种喜欢和新鲜玩法与花样,并从中找出最适合自己的应用.无论你是 Linux ...
- bzoj2959: 长跑
#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #i ...