通过 document.getElementByID(idVal)
访问文档中id属性值为idVal的HTML元素。
Test
测试
querySelector(selectors)
该方法返回HTML文档中第一个符合选择器参数的HTML参数。
querySelectorAll(selectors)
该方法返回所有符合选择器参数的HTML元素。
Test
测试
parentNode
返回当前节点的父节点。
previousSibling
返回当前节点的前一个兄弟节点。
nextSibling
返回当前节点的后一个兄弟节点。
childNodes
返回当前节点的所有子节点。
getElementsByTagName(tagname)
返回当前节点的具有指定标签名的所有子节点。
firstChild
返回当前节点的第一个子节点。
lastChild
返回当前节点的最后一个子节点。
以上都是只读属性。
Test
- JAVA
- SSH
- AJAX
- XML
- EJB
- ANDROID
表单在DOM中由HTMLFormElement对象表示。
常用属性:
action
返回该表单的action属性值。(读写属性)
elements
返回表单内全部表单控件所组成的数组。
length
返回表单内表单域的个数。
method
返回该表单的method属性,该属性通常有POST和GET两个值,默认是GET。(读写属性)
target
用于确定提交表单时的结果窗口。(读写属性)
reset()
重设表单,将所有表单域的值设置为初始值。
submit()
提交表单。
Test
HTMLFormElement访问表单控件有3种语法:
formObj.elements[index]
返回表单中第index个表单控件。
formObj.elements['elementName']
返回表单中id或name为elementName的表单控件。
formObj.elementName
返回表单中id或name为elementName的表单控件。
HTMLSelectElement代表一个列表框或下拉菜单。
常用属性:
form
返回列表框、下拉菜单所在的表单对象。
length
返回列表框、下拉菜单的选个数。
options
返回列表框、下拉菜单里所有选项组成的数组。
selectedIndex
返回下拉列表中选中选项的索引。
type
返回下拉列表的类型,即是否允许多选。如果允许多选,则返回select-multiple;如果不支持多选,则返回select-one。
select.options[index] 返回列表框、下拉菜单的第index+1个选项。
列表框、下拉菜单的选项由HTMLOptionElement对象表示。
常用属性:
form
返回包含该选项所处列表框、下拉菜单的表单对象。
defaultSelected
返回该选项默认是否被选中。
index
返回该选项在列表框、下拉菜单中的索引。
selected
返回该选项是否被选中,通过修改该属性可以动态改变该选项是否被选中。
text
返回该选项呈现的文本,与innerHTML属性相同。
value
返回每个选项的value属性,可以改变选项的value值。
Test
HTMLTableElement 代表表格。
常用属性:
caption
返回表格的标题对象,可通过修改该属性来改变表格标题。
rows
返回该表格里的所有表格行。
tBodies
返回该表格里所有
tFoot
返回该表格里的元素。tHead
返回该表格里的元素。
table.rows[index] 返回该表格第index+1行表格行。
HTMLTableRowElement 代表表格行。
cells
返回该表格行内所有的单元格组成的数组。
rowIndex
返回该表格行内在表格内的索引值。
sectionRowIndex
返回该表格行在其所在元素的索引值。
HTMLTableCellElement 代表单元格。
cellIndex
返回该单元格在该表格行内的索引值。
Test
表格
1.1
1.2
2.1
2.2
3.1
3.2
通常修改以下几个常用属性:
innerHTML
大部分HTML页面元素如
value
表单控件、的呈现内容由该属性控制。className
修改HTML元素的CSS样式。style
修改HTML元素的内联CSS样式。options[index]
直接对元素的指定列表赋值,可改变列表框、下拉菜单的指定列表项。
Test
改变第行,
第列的值为:
第一行第一列
第一行第二列
第二行第一列
第二行第二列
第三行第一列
第三行第二列
document.createElement(Tag)
创建Tag标签对应的节点。
cloneNode(boolean deep)
复制当前节点。当deep为true时,表示在复制当前节点的同时,复制该节点的全部后代节点;当deep为false时,表示仅复制当前节点。
对于普通的节点,可采用Node对象的如下方法来添加节点:
appendChild(Node newNode)
将newNode添加成当前节点的最后一个子节点。
insertBefore(Node newNode, Node refNode)
在refNode节点之前插入newNode节点。
replaceChild(Node newChild, Node oldNode)
将oldChild节点替换成newChild节点。
两种方法:
add(HTMLOptionElement option, HTMLOptionElement before)
在before选项之前添加option选项。如果想将option选项添加在最后,则将before指定为null即可。
创建选项
可使用creatElement() 方法。
还可使用如下构造器:
new Option(text, value, defaultSelected, selected)
参数说明:可以只指定一个或两个(按顺序指定)。
text
该选项的文本,即所呈现的内容。
value
选中该选项的值。
defaultSelected
设置默认是否选中该选项。
selected
设置该选项当前是否被选中。
HTMLTableElement 对象有如下方法:
insertRow(index)
在index处插入一行。
insertCell(index)
在index处创建一个单元格。
createCaption()
为该表格创建标题。
createTFoot()
为该表格创建
creatTHead()
为该表格创建元素。
删除节点通常借助于其父节点,Node对象提供了如下方法来删除子节点。
removeChild(oldNode)
删除oldNode子节点。
两种方法:
remover(index)
删除指定索引处的选项。
删除全部选项,直接将列表框或下拉菜单的innerHTML属性赋为null。
deleteRow(index)
删除表格中index索引处的行。
deleteCell(index)
删除某行index索引处的单元格。
window对象代表整个窗口,该窗口可以是浏览器窗口,也可以只是浏览器页面内的一个Frame。
DHTML对象模型包含关系:
window对象:
navigator浏览器、frames框架页数组、location页面的URL、history访问历史、document文档本身、screen客户机屏幕。
document对象代表HTML文档本身
包含的属性:all所有元素、body页面体、forms所有表单、anchors所有命名锚点、links所有超级链接、images所有图片等。
访问页面控件方法:
在定义了一个全局变量后,它仅仅在当前的window对象中具有全局性。如果在同一个页面里有多个Frame,则意味着有多个window对象,且每个window中的全局对象不会互相影响。
window对象所包含的方法,JavaScript脚本可以直接调用:
常用属性:
location对象包含常用属性:
screen对象包含常用属性:
open() 方法用于打开一个新窗口,可以结合screen对象的属性,形成满屏效果。
尽量少用弹出式窗口。
百度
上例中,当用户点击取消,返回false,将阻止a标签的默认事件。
Test
Test
Test
window对象有一个navigator属性,该属性对应于Navigator对象,该对象代表浏览该页面所使用的浏览器。其常用属性:
HTML5为navigator新增了一个geolocation属性,该属性是一个Geolocation对象,通过该对象获取浏览者的地理位置。
提供以下方法:
定位
window的history属性是一个History对象,该对象表示当前窗口的浏览历史。
传统方法:
HTML5新增方法:
参数:
pushState()、replaceState()和go()的区别:
在实际应用中,pushState()、replaceState()这两个方法主要与Ajax结合使用:Ajax技术能以异步方式向服务器发送请求,获取服务器响应之后通过JavaScript更新在页面上。
History对象的pushState()、replaceState()两个方法弥补了Ajax的缺陷,这两个方法既能改变浏览器地址栏的内容,又不会导致浏览器刷新页面。
下面实现一个简单的Ajax示例。
<%@page pageEncoding="UTF-8"%>
<%
String id = request.getParameter("id");
String result = null;
if(id.equals("java")){
result = "JS:是一种基于对象的客户端脚本语言。目的是解决服务器端语言。如:Perl,遗留的速度问题,为客户提供更流畅的浏览效果。JS可以直接嵌入到html代码中进行解析执行,非常简单易学,可以产生很多动态的效果。";
}
else if(id.equals("ee")){
result = "形象比较:JS是在客户端执行的,需要浏览器支持JavaScript。JSP是在服务器端执行的,需要服务器上部署支持Servlet的服务器程序。JS代码能够直接从服务器上download得到,对外是可见的,jsp(和翻译后的Servlet代码)是对外不可见的。";
}
else {
result = "JS和JSP相比较:虽然JS可以再客户端动态生成HTML,但是很难与服务器交互,因此不能提供复杂的服务。如:访问数据库和图像处理等等。JSP在HTML中用里面实现。JS在HTML中用实现。";
}
out.println(result);
%>
Test
JAVA
EE
Android