@hudaren
2018-08-01T13:31:06.000000Z
字数 3125
阅读 674
200-服务器请求成功
301 – 资源(网页等)被永久转移到其它URL
302-重定向
304-缓存
400-语法错误导致
401-请求需要用户认证
403禁止执行访问
404-页面不存在
500-服务器遇到意外错误
501 未实现Web 服务器不支持实现此请求所需的功能。请检查URL 中的错误,如果问题依然存在,请与 Web服务器的管理员联系。
503-服务器过载,无法完成请求
a:link{
color:#999999;
}
a:visited{
color:#FFFF00;
}
a:hover{
color:#006600;
}
/* IE不支持,用Firefox浏览可以看到效果 */
input:focus{
background:# E0F1F5;
}
Link表示链接在没有被点击时的样式。Visited表示链接已经被访问时的样式。Hover表示当鼠标悬停在链接上面时的样式。
伪类不仅可以应用在链接标签中,也可以应用在一些表单元素中,但表单元素的应用IE不支持,所以一般伪类都只会被应用在链接的样式上。
如:
.father.child{
color:#0000CC;
}
这里我们定义了所有class属性为father的元素下面的class属性为child的颜色为蓝色。后代选择器是一种很有用的选择器,使用后代选择器可以更加精确的定位元素。
opacity作用于元素,以及元素内的所有内容的透明度,
而rgba()只作用于元素的颜色或其背景色。(设置rgba透明的元素的子元素不会继承透明效果!)
document.getElementById(id); //返回对拥有指定id的第一个对象进行访问
document.getElementsByName(name); //返回带有指定名称的节点集合 注意拼写:Elements
document.getElementsByTagName(tagname); //返回带有指定标签名的对象集合 注意拼写:Elements
document.getElementsByClassName(classname); //返回带有指定class名称的对象集合 注意拼写:Elements
document.createElement(eName); //创建一个节点
document.createAttribute(attrName); //对某个节点创建属性
document.createTextNode(text); //创建文本节点
document.insertBefore(newNode,referenceNode); //在某个节点前插入节点
parentNode.appendChild(newNode); //给某个节点添加子节点
cloneNode(true | false); //复制某个节点 参数:是否复制原节点的所有属性
parentNode.removeChild(node); //删除某个节点的子节点 node是要删除的节点
注意:为了保证兼容性,要判断元素节点的节点类型(nodeType),若nodeType==1,再执行删除操作。通过这个方法,就可以在 IE和 Mozilla 完成正确的操作。
nodeType 属性可返回节点的类型.最重要的节点类型是:
元素类型 节点类型
元素element 1
属性attr 2
文本text 3
注释comments 8
文档document 9
方法 作用
appendData(data); 将data加到文本节点后面
deleteData(start,length); 将从start处删除length个字符
insertData(start,data); 在start处插入字符,start的开始值是0;
replaceData(start,length,data); 在start处用data替换length个字符
splitData(offset); 在offset处分割文本节点
substringData(start,length); 从start处提取length个字符
getAttribute(name) //通过属性名称获取某个节点属性的值
setAttribute(name,value); //修改某个节点属性的值
removeAttribute(name); //删除某个属性
parentObj.firstChild; //如果节点为已知节点的第一个子节点就可以使用这个方法。此方法可以递归进行使用 parentObj.firstChild.firstChild.....
parentObj.lastChild; //获得一个节点的最后一个节点,与firstChild一样也可以进行递归使用 parentObj.lastChild.lastChild.....
parentObj.childNodes; //获得节点的所有子节点,然后通过循环和索引找到目标节点
curtNode.previousSibling; //获取已知节点的相邻的上一个节点
curtNode.nextSlbling; // 获取已知节点的下一个节点
childNode.parentNode; //得到已知节点的父节点
replace(newNode,oldNode);
var arr = ["a", "b", "A", "B"];
arr.sort();
console.log(arr);//["A", "B", "a", "b"]
因为字母A、B的ASCII值分别为65、66,而a、b的值分别为97、98,所以上面输出的结果是 ["A", "B", "a", "b"] 。
比较函数接收两个参数,如果第一个参数应该位于第二个之前则返回一个负数,如果两个参数相等则返回0,如果第一个参数应该位于第二个之后则返回一个正数。
var arr = [23, 9, 4, 78, 3];
var compare = function (x, y) {//比较函数
if (x < y) {
return -1;
} else if (x > y) {
return 1;
} else {
return 0;
}
}
console.log(arr.sort(compare));
结果为 [3, 4, 9, 23, 78] ,返回了我们想要的结果。如果要按降序排序,比较函数写成这样即可:
var compare = function (x, y) {
if (x < y) {
return 1;
} else if (x > y) {
return -1;
} else {
return 0;
}
}
<script>
var arr=[2,4,1,6,7,8,33,11];
function sort(array){
//使用双循环去遍历数组,第一个循环取 array 的一个数据,第二个循环拿上个循环数据的后面一个数据,两个数据进行比较。
for(var i=0;i<array.length;i++){
for(var j=i+1;j<array.length;j++){
if(array[i]>array[j]){
//如果 array[i] > <array[j] ,就声明一个缓存遍历 num 存放大的数据,然后把两个数据的下标进行更换,达到升序排序的效果。
var num=array[i];
array[i]=array[j];
array[j]=num;
}
}
}
//return 根据需要可写可不写。
return array;
}
sort(arr);