读书笔记-javascript dom-2
来源:互联网 发布:apache 禁止目录 编辑:程序博客网 时间:2024/05/18 02:24
1、”javascript:”伪协议
“真”协议用来在因特网上的计算机之间传输数据包如HTTP协议(http://)、FTP协议(ftp://)等。伪协议则是一种非标准化的协议。”javascript:”伪协议可以让我们来调用javascript函数—这里不会发生跳转
<a href="javascript:test()">链接到百度</a>
2、内嵌事件处理函数
当标签中的一些属性没多大用处时,可以调用其他属性来对事件进行处理
<a href="#" onclick="test();return false;">别想跳转了</a>//上面的HTML指令使用了return false语句所以这个链接是不会发生跳转。
“#”符号是一个仅供文档内部使用的链接记号
3、css能做到将web文档结构和样式分离开来
4、关于javascript引入外部文件问题
如果javascript文件是从HTML文档的<head>
部分用<script>
调用的,它将在HTML文档之前加载到浏览器里。同样,如果<script>
标签位于文档底部</body>
之前,就不能保证哪个文件最先结束加载(浏览器可能一次加载多个)。
因为脚本加载时文档可能不完整,所以模型不完整,没有完整的DOM,getElementById等方法就不能正常工作。因此必须让这些javascript代码在HTML文档全部加载到浏览器之后马上开始执行—>HTML文档全部加载完会触发一个事件。文档将被加载到一个浏览器窗口后,document对象又是window对象的一个属性。当window对象触发onload事件时,document对象就存在了。
5、要使脚本起作用(有的浏览器不支持),则需要向后兼容,做相应的对象检测。将方法打包好,使用if语句对这个方法进行判断是否存在,就可以把不支持的浏览器检测出来
如:
//判断该文档对象是否含有getElementById的方法或者属性if(document.getElementById){ //代码块}或if(!getElementById){ return false;}或if(!getElementById) return false;//如果需要判断多个属性或者方法是否存在,则if(!getElementById ||!getElementsByTagName) return false;
6、尽量少访问DOM和尽量减少标记。因为访问DOM方式对脚本性能会产生非常大的影响。比如在使用 document.getElementsByTagName(”p”) 会在执行这句时浏览器会遍历整个DOM树,从中查找可能匹配的元素。当使用了两次这样的代码,会浪费一次搜索,更好的办法是把第一次搜索的结果保存在一个变量中,然后可以在循环里操作了。
例:
val aLi=document.getElementsByTagName("li");for(var i=0;i<aLi.length;i++){ alert(aLi[i].innerHTML);}
- 读书笔记-javascript dom-2
- 读书笔记-javascript dom
- 读书笔记-javascript dom-3
- 《JavaScript DOM编程艺术》读书笔记
- 读书笔记--javascript DOM 编程艺术
- 《JavaScript DOM 编程艺术》 读书笔记
- 《JavaScript DOM 编程艺术》读书笔记
- JavaScript Dom编程艺术 读书笔记
- 《JavaScript DOM 编程艺术》读书笔记
- 《JavaScript DOM 编程艺术》读书笔记
- 《JavaScript DOM 编程艺术》读书笔记
- 《JavaScript DOM 编程艺术》读书笔记
- 《JavaScript DOM 编程艺术》读书笔记
- 《JavaScript DOM 编程艺术》读书笔记
- 《JavaScript DOM 编程艺术》读书笔记
- JavaScript DOM编程艺术 读书笔记
- 《JavaScript DOM 编程艺术》读书笔记
- javascript DOM 编程(读书笔记)
- 基于双网络双光纤FPGA传输卡的资料
- 图论总结
- 向量外积和内积在编程中的应用
- Android studio 使用Cmake完成C/C++ 的使用以及生成so文件
- 将XML Document 转为 Json 字符串输出
- 读书笔记-javascript dom-2
- 判断素数
- C/C++的调用约定详解——stdcall、cdecl、fastcall、thiscall、naked call
- Linux命令笔记
- Stack的实现
- 挑战练习:评分(四)基于Android编程权威指南(第三版)
- Currency Issue
- 负载均衡
- 嵌入式python2.7.13移植