=== 全等(比较值和类型)
例:
var a = 3;
var b = "3";
a==b 返回 true
a===b 返回 false
with 语句:为语句设定默认对象。
with (object){ statements }
通过类名找到 HTML 元素getElementsByClassName()
考虑到低版本浏览器,根本类名获取HTML元素的函数
function getByClass(parent, cls){
if(parent.getElementsByClassName){
return parent.getElementsByClassName(cls);
}else{
var res = [];
var reg = new RegExp(' ' + cls + ' ', 'i')
var ele = parent.getElementsByTagName('*');
for(var i = 0; i < ele.length; i++){
if(reg.test(' ' + ele[i].className + ' ')){
res.push(ele[i]);
}
}
return res;
}
}
- getElementById()返回一个对象,对应一个特定元素节点。
- getElementsByTagName()返回对象数组,分别对应文档里的一个特定元素节点。
- getAttribute()查询属性,只能通过一个元素节点对象调用,属性不存在返回null, 可以先检查返回值是不是null。
- setAttribute()也只能通过一个元素节点对象调用,需要我们传递两个参数,属性名和属性值。
- createElement()创建元素节点 ,appendChild()插入子节点, createTextNode()创建文本节点
- insertBefore()把新元素节点插入到目标节点前面
window.onload执行多个function的函数
function addLoadEvent(func){
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
}else{
window.onload = function(){
oldonload();
func();
}
}
}
把新元素节点插入到目标节点后面
//targetElement.nextSibling目标元素下一个兄弟节点
function insertAfter(newElement,targetElement){
var parent = targetElement.parentNode;
if (parent.lastChild==targetElement) {
parent.appendChild(newElement);
}else{
parent.insertBefore(newElement,targetElement.nextSibling);
}
}
addLoadEvent调用含参函数版本
function addLoadEvent2(func) { //addLoadEvent调用含参函数版本
var ages = [].slice.call(arguments,1); //返回的是arguments数组从1号位开始的片段。
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = function() {
func.apply(this,ages);
}
} else {
window.onload = function() {
oldonload.apply(this);
func.apply(this,ages);
}
}
}
addLoadEvent2(styleElementSiblings,"h1","intro");//将参数变为数组或对象
- onload 和 onunload 事件会在用户进入或离开页面时被触发
- onchange 事件常结合对输入字段的验证来使用
- onmouseover 和 onmouseout 事件可用于在用户的鼠标移至 HTML 元素上方或移出元素时触发函数
- onmousedown, onmouseup 以及 onclick 构成了鼠标点击事件的所有部分。首先当点击鼠标按钮时,会触发 onmousedown 事件,当释放鼠标按钮时,会触发 onmouseup 事件,最后,当完成鼠标点击时,会触发 onclick 事件
- onerror 事件会在文档或图像加载过程中发生错误时被触发