Dom中的基本方法
getAttribute(attr) 获取元素的属性
setAttribute(attr,attrvalue) 设置元素的属性;该方法的做出的修改,不会反映在文档本身的源代码中;这涉及到DOM的工作模式:先加载文档的静态内容,再动态刷新,动态刷新不影响文档的静态类容 。
总结:前面三个元方法都是通过document直接调用,后两个方法是通过前面三个方法定位 到某元素,然后元素本身调用设置或者获取元素属性
补充:document.querySelector深度查找,查找第一个满足条件的元素,如果没有,怎返回null, document.querySelectorAll也是深度搜索
javascript中事件处理函数工作机制
childNodes属性,elem.childNodes 获取任何一个元素的所有的子元素,包括节点元素,文本元素,属性元素等 .length属性获子元素的数量 window.onload当页面加载时候执行。
nodeType属性, elem.nodeType获得属性是一个数值,nodeType总攻有12种可取值,但是具有实用价值的只有三种:元素节点、属性节点、文本节点的nodeType的值分别为1,2,3;不同的值,可以让函数只对特定的类型节点进行处理。
nodeValue 要改变文本节点的值,需要使用nodeValue来获取节点的值。诸如想如下代码:使用 var elems = document.getElementById('#mttext') 获取的时元素数组,还需要elems[0].nodeValue 才能够获得最终的值。同时可以使用nodeValue来设置元素的值elems[0].nodeValue = 'i am a good boy';
why not
javascript的平稳退化
function popUp(url){
window.open(url,'popup','width=320px,height=480px');
}
性能考虑
2.过多的不必要的元素只会增加Dom树的规模,增加Dom树查找特定元素的时间
2.文件放置位置,位于 中的脚本导致浏览器无法并行加载其他的文件(如图像活着文本),一般来说,根绝HTTP规范,浏览器从同一域名最多只能同时下载两个文件。把所有的 标签都放到文档的末尾, 标记之前,就可以让页面变的更快。
图片库改进
document.forms;
element.getAttribute('src') -> element.src;
whichpic.getAttribute8('href')->whichpic.href;
placeholder.setAttibute('src',source)->placeholer.src = source;
动态的创建标记
this is sss content
创建元素节点 var child = document.createElement(nodeName); 创建之后,就具有了元素名(nodeName)和元素类型(nodeType)
挂载元素节点 parent.append(child);
创建文本节点 var text = document.createTextNode(''); 挂载在已创建的元素节点上child.append(text);
插入元素insertBefore ,parentElement.insertBefore(newElement,targetElement) ; 或者 targetElement.parentNode.insertBefore(newElement,targetElement) ,插入到某个节点元素的前面
在已知元素之后插入元素 insertAfter,其中nextSibling是同辈的下一个元素
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|