其余章节链接
充实文档的内容
最好不要 通过JavaScript把一些重要的内容添加到网页上,内容应该在刚开始编写文档时就成为文档的组成部分 display
属性,当值为inline
时,原本在浏览器窗口纵向排列的元素变为横向排列;当值为block
时,原本在浏览器窗口横向排列的元素变为独占一行;当值为none
时,该元素不在浏览器窗口显示for/in
循环,for(variable in array)
,在第一次进入循环时,变量variable
将被赋值为数组array
的第一个元素的下标值;在进入第二次循环时,变量variable
将被赋值为数组array
的第二个元素的下标值;以此类推,直到遍历完数组array
里的所有元素为止真实项目中,把多个脚本合并为一个文件,并对其进行压缩 注意:有些浏览器会把换行符解释为一个文本节点,所以如果没有百分百的把握,一定要去检查nodeType
的属性值 一般来说,在适用于Windows系统的浏览器里,快捷键的用法是在键盘上同时按下Alt键和特定按键;在适用Mac系统的浏览器里,快捷键的用法是同时按下Ctrl键和特定按键 accesskey
属性可以吧一个元素与键盘上的某个特定按键关联在一起,值得注意的是,设置太多的快捷键反而会适得其反,它们或许会与浏览器内建的键盘快捷方式发生冲突适用于检索文档现有信息的DOM方法:getElementById
、getElementsByTagName
、getAttribute
适用于把信息添加进文档的DOM方法:createElement
、createTextNode
、appendChild
、insertBefore
、setAttribute
CSS-DOM
三位一体的网页:结构层(HTML)、表示层(CSS)、行为层(JavaScript) CSS可以使用伪类实现一些动态效果,DOM也可以给元素设定样式 每个元素的style
属性都是对象 当需要引用一个中间带减号的CSS属性时。DOM要求你用驼峰命名法。例:CSS属性font-family
变为DOM属性fontFamily
style
的各个属性都是可读写的,element.style.property = value
用于更新样式,style
对象的属性值必须放在引号里绝大数情况下还是应该使用CSS去声明样式,在使用CSS不方便的情况下,可以利用DOM对文档的样式做一些小的增强 getNextElement
函数,获取下一个元素节点:
function getNextElement ( node) {
if ( node. nodeType == 1 ) {
return node;
}
if ( node. nextSibling) {
return getNextElement ( node. nextSibling) ;
}
return null ;
}
tr:nth-child(odd) {
background-color : #ffc;
}
tr:nth-child(even) {
background-color : #fff;
}
当浏览器对伪类支持不够好时,可以通过DOM的onmouseover
属性来达到目的 通过更新className
属性是修改元素样式的一个简便方法,className
属性是一个可读/可写的属性,凡是节点元素都有这个属性 addClass
函数,追加class
属性的值:
function addClass ( element, value) {
if ( ! element. className) {
element. className = value;
} else {
newClassName = element. className;
newClassName += " " ;
newClassName += value;
element. className = newClassName;
}
}
把一个非常具体的东西改进为一个较为通用的东西的过程叫做抽象,写抽象函数是一个好习惯