引言
html每个标签都是一个对象,js没有类的概念,创建对象可以通过newObject();或者JSON形式定义对象。
js对象有属性但没有方法。但是,因为js支持将方法存储到变量中,所以可以通过将方法存到属性的方式为对象添加方法。
事件:(事件句柄可以写js代码οnclick=“if(confirm(“确定删除吗”)==true) return true”
事件源:html对应的标签
事件:单机,双击等
监听:事件句柄
可以通过事件获取事件源event.target,是一个标签对象,可以通过.获取对象的属性值即标签的属性。
阻止表单和超链接的默认行为:
1,为表单元素(事件源)添加onsubmit事件句柄(监听),当点击提交(事件)的时候可以触发事件句柄对应的函数。
2,修改超链接的href=“javascript:void(0)”阻止超级链接产生默认的单击事件其单击事件会发送请求,并添加自定义单机事件,访问连接可通过BOM的location添加。
注意:可以通过form标签对象提交表单信息,from.submit();
事件冒泡:
内外标签定义了相同的事件,触发内部标签事件的时候也会触发外部标签。
阻止:event.stopPropagation()
DOM:
作用:可以通过API方法获得树上的HTML标签对象,进而修改或增加标签的内容。
1,改变现有标签的内容
document.getElementById().style.backgroundColor="";(注意css样式名backgroud-color,去掉横线驼峰命名)
对于遍历处理的标签,难以通过id属性来获取标签对象,可以通过给函数传递this或event对象(event获取事件源event.target)的方法获取
获取标签的内容,baizhi被封装在Text对象中,属于div的子标签,document.getElementById().firstChild.data;data或nodeValue都行
2,增加新的标签内容
a, 1)创建文本 var text = document.createTextNode("baizhi")
2)创建标签 var span = document.createElement("span")
3)文本添加到span标签内,span.appendChild(text)
4)获取要操作的标签var div = document.getElementById("div"),对标签进行增删改的操作
5)span添加到div标签内 div.appendChild(span)
b, 1)获取要操作的标签var div = document.getElementById()
2)div.innerHTML="<span>baizhi</span>";(也可以获取标签内部的数据)
BOM:
作用:将所有浏览器相关的定义成对象,通过操作这些对象操作浏览器
1)window
window.alert()
window.confirm()
window.open()
window.setTimeOut()//定时执行
window.clearTimeout()//取消定时
window.setInterval()//隔一定时间,执行一次
2)document
document.forms//获取HTML页面所有的form标签对象
document.images//获取所有的img标签对象
document.anchors//获取页面所有的超链接对象
常用对象:
select对象:options属性(可以获取所有的option对象),option.text 内部文本
selectedIndex属性获得被选中标签在数组中的下标
form 对象:可以通过form.commit()提交表单
3)location
location.href="";修改地址栏的url,发送请求的地址,超链接地址
4)history