一、DOM元素
(1)元素节点
(2)属性节点
(3)文本节点
只有元素节点才有子节点
1.getElementById(""); //由id属性获取元素节点
2.getElementsByTagName("");//由标签名(<input>,<ur>,<li>等)获取元素节点的集合
3.getElementsByName("");//由name属性获取元素节点的集合
二、js代码执行顺序
页面最下边的js代码执行 --> document.ready,或者说$(function) --> onload函数执行
1、JSP中onload,或者jquery的document.ready,或者简写的$(function),是不是就相当于servlet中的初始化init()方法?
答案肯定是否定的,所有的jsp中的代码都是在service方法中执行的。这个你可以直接看jsp编译后的文件就一目了然了。
2、onload和jquery的document.ready到底哪个先执行?
onload指示页面包含图片等文件在内的所有元素都加载完成。document.ready表示文档结构已经加载完成(不包含图片等非文字媒体文件)。 所以说:document.ready在onload 前加载。
3、写在下面的js和document.ready哪个先执行?
jsp就相当于java,所以执行顺序一样是从上往下,而ready是要在文档结构加载完成的情况下才执行,所以说,下面的js肯定是先执行。那如果把ready也写在下面呢,道理一样,也肯定是下面的js先执行。
4、前几天有同事问我,为什么上面的js代码还没执行完,怎么就开始执行下面的代码了;
我一看,原来他用到了好几个$.post方法,也就是ajax,ajax大家都知道是异步刷新机制,所以他肯定不会去等上面代码执行完,当然如果你功能需要ajax从上往下一步步执行,你可以给全局加个默认不异步的属性$.ajaxSetup({ async:false });