1. 查看你的html文档中一共有多少个节点 : document.getElementsByTagName(" * ").length;
2. document.getElementsByClassName() 这个用来获取classname,但是对于老版本的浏览器还不是很支持,要支持老版本的浏览器的写法:
function getElementsByClassName(node,classname){
if(node.getElementsByClassName){
return node.getElementsByClassName(classname);
}else{
var results=[];
var elems=node.getElementsByTagName("*");
for(var i=0;i<elems.length;i++){
if(elems[i].calssName.indexOf(classname) != -1){
results.[results.length] = elems[i];
}
}
return results;
}
}
3. onload事件的用法(在页面的图片,css文件等资源全部都加载完成后触发);
如果window.onload需要绑定的函数很多的情况下的使用方法:(弹性最佳解决方法,它是由Simon Willison编写的;)
function addLoadEvent(func){
var oldonload=window.onload;
if(typeof window.onload != "function"){ //当window.onload上没有绑定函数时,把函数添加给它;
window.onload=func;
}else{
window.onload = function(){ //当window.onload上绑定了函数,把新函数追加到现有指令的末尾;
oldonload();
func();
}
}
}
添加绑定的函数: addLoadEvent(firstFunc);
addLoadEvent(secondFunc);
4.在已有的元素后面插入一个元素:
insertBefore()在已有的元素前插入一个新元素:parentElement.insertBefore(newElement,targetElement);
没有insertAfter()在已有的元素后插入一个新元素的方法:自己编写:
function insertAffer(newElement,targetElement){
var parent=targetElement.parentNode;
if(parent.lastChild == targetElement){
parent.appendChild(newElement);
}else{
parent.insertBefore(newElement,targetElement.nestSibling);
}
}
5. accesskey属性可以把一个元素与键盘上的某个特定的按键关联在一起:
eg:<a href="index.html" accesskey="1">Home</a>
6. CSS-DOM:(如何用DOM技术去获取和设置CSS信息:)
获得style属性的方法: element.getAttribute("style"):返回的值是包含CSS的文本;
(style属性只能返回内嵌样式) element.style.property:通过属性访问返回的是一个对象;(style是以编程方式访问元素样式的,并没有直接映射到style对象上);
7. className属性: 给一个元素追加class名字的函数:value表示新class名字;
function addClassName(element,value){
if(!element.className){
element.className=value
}else {
newclassName=element.className;
newclassName+=" ";
newclassName+=value;
element.className=newclassName;
}
}
8. 创建文档碎片:var frgment=document.creatDocumentFragment();
9. "javascript:" 伪协议:一种非标准化的协议;它让我们通过一个链接来调用JavaScript函数 ;
例如:<a href="javascript:函数名(参数);">00000000000000</a>
注意:在HTML文档通过"javascript:" 伪协议调用javascript代码的做法非常不好;
<a href="#" onclick="函数名(参数)return">------</a>:# 某些浏览器里表示指向当前文档的开头;可以创建一个空链接;与上面的做法同样不好,它们都不能平稳退化,
如果用户已经禁用了浏览器的javascript功能,这样的链接毫无用处;
<a href="www.baidu.com" onclick="函数名(this.href);return false"></a> (这种写法效果好些,在JS禁用后还是可以打开页面);