JS基础——innerHTML、CSS-DOM

  1.innerHTML属性

现如今的浏览器几乎都支持属性innerHTML,但这个属性并不是W3C DOM标准的组成部分。它始见于微软公司的IE4浏览器,并从那时被其他的浏览器接受,innerHTML属性用于获取或替换HTML元素的内容

Window.onload=function(){

Var testdiv=document.getElementById(“testdiv”);

Alert(testdiv.innerHTML);

}

<div id=”testdiv”>

<p>This is<em>my</em>content.</p>

</div>

结果为:<p>This is<em>my</em>content</p>

很明显,innerHTML属性毫无细节而言。要想获得细节,就必须使用DOM方法和属性。不仅可以用它来读出元素的HTML内容,还可以用它把HTML内容写入元素。

语法:Object.innerHTML

注意:

I.Object是获取的元素对象

II.注意书写,innerHTML区分大小写

  2..CSS-DOM

三位一体的网页

(1)结构层

(2)表示层

(3)行为层

I.结构层:由HTMLXHTML之类的标记语言负责创建。

II.表示层:由CSS负责创建

III.行为层:负责回答“内容应该如何对事件做出反应”这一问题。这是JavaScropt语言和DOM主宰的领域。

不过,在这三种技术之间存在着一些潜在的重叠区域,DOM技术可以用来改变网页的结构,例如createElement()appendChild()之类的DOM方法能够动态的创建和添加HTML内容。

CSS身上也可以找到这种技术相互重叠的例子。例如:hover:focus之类的预定义符号(术语称之为“伪class属性”)使我们可以根据用户触发事件来改变的呈现效果。

className属性

与其使用DOM脚本去直接改变某个元素的样式信息,不如通过javascipt代码去刷新这个元素的class属性。

className属性是一个可读/可写的属性,而且凡是元素节点都有这个属性。

我们可以用className属性检索某给定元素的class属性值:

element.className

className属性和赋值操作符设置某给定元素的class属性:

Element.className=value

这个技巧只有一个不足:通过className属性设置某个元素的class属性值将替换(而不是追加)该元素现有的一切class设置。

原文地址:https://www.cnblogs.com/lsnan/p/5956871.html