平稳退化
js与html标记分离?
如果有两个函数:firstFunction和secondFunction,如果想让它们俩都在页面加载时得到执行,可以调用函数addLoadEvent,只有一个参数,就是打算在页面加载完毕时执行的函数的名字。
function addLoadEvent(func){
var oldonload=window.onload;
if(typeof window.onload!=‘function‘){
window.onload=func;
} else{
window.onload=function(){
oldonload();
func();
}
}
}
这将把那些在页面加载完毕时执行的函数创建为一个队列。如果想要将各个函数添加到队列去,秩序写出一下代码即可:
addLoadEvent(firstFunction);
addLoadEvent(secondFunction);
三元操作符
var text=whichpic.getAttribute("title")?whichpic.getAttribute("title"):"";
紧跟getAttribute后面的?即为三元操作符,这个问号后面是变量text的两种可取值。如果getAttribute("title")的返回值是null,text变量将被赋值为第二个值。
三元操作符是if/else语句的一个变体形式。
link[i].onkeypress=link[i].onclick;//可以将onclick事件的所有功能赋给onkeypress事件
getElementById
getElementsByTagName
getAttribute
setAttribute
这些方法是DOM Core的组成部分,并不是专属于JavaScript,支持DOM的任何一种程序设计语言都可以使用它们。它们也并非仅限于处理网页,它们可以用来处理用任何一种标记语言编写出来的文档。