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对象的内容、属性、样式的操作的更多相关文章

  1. JavaScript学习笔记(三)——对象

    第四章 理解对象 1 说明 对象的状态:属性,行为:方法: 对象定义放在花括号内: 用冒号分隔属性名和属性值: 用逗号分隔属性名和属性值对,包括方法: 最后一个属性值后面不加逗号: 属性名可以是任何字 ...

  2. DOM学习笔记(二)对象方法与属性

    所有 HTML 元素被定义为对象,而编程接口(对象的访问)则是对象方法和对象属性. 事实上,常用的只用window对象及其子对象document对象,以及事件Event对象. Window 对象 Wi ...

  3. JavaScript学习笔记(一)对象和属性

    对象属性的使用 JavaScript中的所有变量都可以当做对象使用,除了null和undefined. false.toString(); // 'false' [1, 2, 3].toString( ...

  4. JavaScript:学习笔记(8)——对象扩展运算符

    JavaScript:学习笔记(8)——扩展运算符 对象的扩展运算符 扩展运算符是三个点(...).用于取出参数对象的所有可遍历属性,然后拷贝到当前对象之中. 如上图所示,新建了一个对象a,然后通过扩 ...

  5. Java程序猿的JavaScript学习笔记(8——jQuery选择器)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  6. Java程序猿的JavaScript学习笔记(12——jQuery-扩展选择器)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

  7. Java程序猿的JavaScript学习笔记(汇总文件夹)

    最终完结了,历时半个月. 内容包含: JavaScript面向对象特性分析,JavaScript高手必经之路. jQuery源代码级解析. jQuery EasyUI源代码级解析. Java程序猿的J ...

  8. Java程序猿JavaScript学习笔记(2——复制和继承财产)

    计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...

  9. Java程序猿的JavaScript学习笔记(3——this/call/apply)

    计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...

随机推荐

  1. 把php上传sae问题要使用IO

    应用移植指南 一,为什么要移植应用 SAE禁止IO写操作,代码目录不能写入.这意味着普通程序的上传图片.生成缓存等操作都不能在SAE上正常运行,这时候你需要对这些代码进行修改后才能让你的程序运行在SA ...

  2. Java--笔记(5)

    41.面向对象的五大基本原则 (1)单一职责原则(SRP) (2)开放封闭原则(OCP) (3)里氏替换原则(LSP) (4)依赖倒置原则(DIP) (5)接口隔离原则(ISP) 单一职责原则(SRP ...

  3. ES6新特性:Javascript中的Map和WeakMap对象

    Map对象 Map对象是一种有对应 键/值 对的对象, JS的Object也是 键/值 对的对象 : ES6中Map相对于Object对象有几个区别: 1:Object对象有原型, 也就是说他有默认的 ...

  4. 自定义View完全解析

    自定义View主要包括以下3种方式: 一.组合控件,利用已有控件的组合,来满足自己的需求. 例子:顶部导航栏 二.继承已有View,比如继承TextView.ImageView等,根据需要重写相应的方 ...

  5. 【USACO 2.2】Runaround Numbers

    找出第一个大于n的数满足:每一位上的数都不同,且没有0,第一位开始每次前进当前这位上的数那么多位,超过总位数就回到开头继续往前进,最后能不能每个位都到过一次且回到第一位,$n<10^9$. 暴力 ...

  6. Node.js的net模块

    net模块提供了一个异步网络包装器,用于TCP网络编程,它包含了创建服务器和客户端的方法 创建TCP服务器 net.createServer方法 创建客户端去连接服务器 net.connect方法 简 ...

  7. linux中/和/root(~) 和 /home

    winodws是森林型目录结构,它有很多根,如C.D.E.F等都是它的根目录,然后在其实创建子目录linux是树型目录结构,它只有一个根就是/目录,然后在/目录在有子目录如/root./home./e ...

  8. MVC3的安装方法(含安装包)

    安装方式: 1.直接官方下载安装包安装.链接:http://pan.baidu.com/s/1nvLfG8p 密码:534g 2.整个项目通过nuget进行安装.(推荐) 总结: MVC3有个尴尬的问 ...

  9. NuGet命令行工具和可视化工具

    Nuget出了命令行工具之外,还有一个可视化工具,下载地址如下: 命令行(推荐官网下载,有中文提示!):https://dist.nuget.org/index.html 可视化(简单.方便.易用): ...

  10. 对WEB标准以及W3C的理解与认识

    按照习惯的理解,这两个概念似乎都是指的一个东西(就是咱们在这个版里讨论的这些个"高深理论“^_^).但我认为,事实上从技术的角度上讲,这两个事物几乎没有任何相关性.web标准简而言之就是将页 ...