CSS
引用文件:<link rel="stylesheet" type="text/css" href="css的文件路径">
优先顺序:从上到下,从内到外。后加载的优先级要高
定位:relative 会使DIV漂浮 通过top left righr bottom
但是 它原来的位置不会被别的DIV 补上(不会把对象从文档流中拖出)
而absolute 正好相反
Javascript
简介:基于对象和事件驱动的语言,应用于客户端
基于对象:提供好了对象,可以直接拿过来使用
事件驱动:html做网站静态效果,js动态效果
客户端:专门指的是浏览器
特点:
交互性(信息的动态交互)
安全性(不可以直接访问本地硬盘)
跨平台性(只要支持js的浏览器,都可以运行)
组成:
1)ECM
2)BOM 浏览器对象模型
3)DOM 文档对象模型
与html的结合方式
1)使用一个标签 <script type="text/javascript"></script>
2)引入外部的文件<script type="text/javascript" src="被引用的js文件路径"></script> 注意:使用该方式的时候,就不要在js标签里面写js代码,不会执行
var : 声明变量
type(变量名称) 查看变量的数据类型
js的语句:
if语句
switch语句
while循环语句
for循环语句
js的运算符
字符串如果相加,做的事字符串连接
相减,做的是相减的运算
==和===的区别
== 比较的是 值
=== 比较的是 值和类型
引入知识:
直接向页面输出的语句:
document.write();
js的函数:
参数列表不需要写 var
1)使用关键字 function
function 方法名(参数列表){
方法体;
返回值(可有可无);
}
调用方法 : 方法名();
2)匿名函数
function (参数列表){
方法体;
返回值(可有可无);
}
3)new Function("参数列表","方法体和返回值");
注意 2 和 3 方式如若要被调用,则需要去一个名字。
js的string对象:
方法:
1)与html相关的方法
bold(); 加粗
fontcolor();设置字符串的颜色
fontsize():设置字体的大小
link():将字符串显示称超链接
sub() 下标 sup():上标
2)与java相似的方法
substr(a,b):从第a为开始,向后截取b个字符
substring(a,b):从第a位开始到第b位结束 【3,5) 包前不包后
js的array对象
方法:
concat(arr):数组的连接
join(str):根据指定的字符分割字符串
push(元素):向数组末尾添加元素,并返回新的数组的长度 push添加一个数组,会把整个数组当成一个元素。
js的全局函数
eval() :执行js代码
encodeURI(); 对字符进行编码
decodeURI():对字符进行解码
encodeURIComponent()和decodeURIComponent()
isNaN():判断当前字符串是否是数字 不是数字是true,是数字是false
js的重载(面试):
1)js中不存在重载
2)js中可以模拟实现重载的效果,js中的参数都存在 arguments 这个数组里面。用if-else来模拟
if(arguments.length == 2){
return arguments[0]+arguments[1];
}else if(arguments.length == 3){
return arguments[0]+arguments[1]+arguments[2];
js的bom对象:
简介:浏览器对象模型。
哪些对象:
navigator:获取浏览器的信息。
screen:获取显示屏的信息
location:请求url地址 设置url地址
鼠标点击事件:onclick=“js的方法”
history:请求的url的历史记录
back():到访问的上一个页面
forward():到访问的下一个页面
window(重要)
属性:opener:得到创建这个窗口的窗口,可以跨页面操作
窗口对象
顶层对象(所有的bom对象都是在该里面操作的)
方法:
whindow.alert() 页面弹出一个框,显示内容。简写 alert(0;
congirm(“显示内容”); 确认框
prompt(“在显示的内容”,“输入框里面的默认值”):输入对话框
open(): 打开一个新的窗口
close():关闭窗口(兼容性差)
做定时器的一些方法(笔试会问):
** setInterval(“js代码”,毫秒数) 表示每多少秒,执行一次js代码
** setTimeout(“js代码”,毫秒数) 表示在毫秒数之后执行,但是只会执行一次
clearInterval(“由setInterval返回的ID”) 清除定时器
clearTimeout(“由setTimeout返回的ID”) 清除定时器
js的dom对象
dom:文档对象模型
文档:超文本文档(超文本标记文档) html,xml
对象:提供了属性和方法
模型:使用属性何方法操作超文本标记型文档
可以使用js里面的dom里面提供的对象,使用这些对象的属性和方法,对标记型文档进行操作
解析过程:根据html的层级结构,在内存中分配一个树形结构,需要把html中的每一个部分封装成对象。
document对象:整个html文档
element对象:标签对象
属性对象
文本对象
Node节点对象(是上面这些对象的父对象)
DHTML 是很多技术的简称
html : 封装数据
css : 使用属性和属性值设置样式
dom :操作html文档
js : 专门指的是js的语法语句
document对象
表示整个的文档
常用方法:
write()方法:
1)向页面输出变量(值)
2)向页面输出html代码
getElementById(“标签里面id的值”) 通过id得到标签
标签对象.属性名称 就可以获得该id标签的属性值
getElementsByName(“标签里面name的值”)
通过标签的name的属性值得到标签
返回的是一个数组
通过遍历数组可以得到每个标签里面具体的值
getElementsByTagName(“标签的名称”)
返回的是一个数组
通过遍历数组可以得到每个标签
Element对象
要操作element对象,就要先获取 document里面相对应的方法获取
方法:
获取属性里面的值:getAttribute("属性名称")
设置属性的值: setAttribute("属性名","值")
删除属性:removerAttribute("属性名") 不能删除value
查找其他节点的唯一有效方法就是getElementsByTagName()方法,而该方法返回的是一个集合
Node对象属性一
nodeName
nodeType
nodeValue
使用dom解析html时候,需要html里面的标签,属性和文本都封装成对象
标签节点对应的值:
nodeType:1
nodeName:大写标签名称 比如 span
nadeValue:null
属性节点对应的值:
nodeType:2
nodeName:属性名称
nadeValue:属性的值
文本节点对应的值:
nodeType:3
nodeName:#text
nadeValue:文本内容
Node对象属性二
父节点
parentNode:获得父节点
子节点
childNodes:得到所有子节点,但是兼容性很差
firstChild:获取第一个子节点
lastChild:获取最后一个子节点
同辈节点
nextSibling:返回一个给定节点的下一个兄弟节点
previousSibling:返回一个给定节点的上一个兄弟节点
操作dom树
appendChild 添加子节点到末尾
特点:类似于剪切粘贴的效果
insertBefore(newNode,oldNode) 在某一个节点之前插入一个新的节点
两个参数:要插入的节点, 在谁之前插入
removeChild 删除节点
只能通过父节点来删除
replaceChile(newNode,oldNode) 替换节点
cloneNode(blooean(一般是true))
innerHTML属性
这个属性不是dom的组成部分,但是大多数浏览器都支持的属性
第一个作用:获取文本内容
第二个作用:像标签里面设置内容(可以是html代码)