DOM
原生:
1、document.createElemnet(); 创建一个元素
2、document.createTextNode(); 创建一个文本节点
3、父元素.appendChild(子元素) 将某个元素添加到父元素孩子列表的最末端
document.body.appendChild(p); 把p元素添加到body中的末端
4、父元素.innerBefore(新元素,其他孩子元素)将某个新元素,添加到父元素中的其他孩子元素的面前
5、父元素.removeChild(删除的子元素)从父元素中删除某个子元素
6、父元素.replaceChild(新的元素,旧的元素) 将父元素内的旧元素替换成新元素
7、元素.cloneNode(flag)克隆当前元素,参数如果为true则克隆当前节点、属性以及内部的子节点,参数如果为false,则不克隆当前节点以及内部的子节点。
8、父元素.childNodes 获取某个节点下的所有子节点
9、父元素.firstChild 获取父元素中的第一个孩子节点
10、父元素.lastChild 获取父元素中的最后一个孩子节点
11、元素.nextSibling 获取下一个兄弟节点
12、元素.previousSibling 获取上一个兄弟节点
13、元素.parentNode 获取某个元素的父节点
DOM0级事件:每个元素都有一个事件处理程序属性,DOM0级事件处理程序就是给该元素的这个属性赋值一个处理匿名函数的函数。
DOM0级事件重复绑定的话会覆盖之前的。
this是随着函数运行环境的改变而改变,this在全局环境中表示全局对象--window对象
全局环境调用该函数,该函数内部的this就指的是全局对象--window对象
jQuery
1、设置元素和内容
2、元素的属性和操作:
addClass(); 添加属性
removeClass(): 移除属性
toggleClass(); 切换class值,如果有class值就移除,如果没有就添加
attr("src"); 获取属性值
attr("href','http://www.ningyuanyuan.com');设置属性值
attr({title:'title',src:'path/path1'}); 同时设置多个属性值
removeAttr('arc'); 移除属性值
3、元素样式操作
4、css的一些特殊操作方法
offset() 相对于窗口的偏移 position() 相对于定位父级的偏移
offset().left position().let
offset().top positon().top
只对可见元素有效 只对可见元素有效
BOM:浏览器对象模型(Browser Object Model)
--------------document:window对象的document属性----------------------------
--------------------------Location对象--------------------------------------
----------------href属性:控制浏览器的地址
---------------reload方法:刷新页面
----------------------------history对象:(用户跳转的历史记录)----------------------------------------
-------------back方法:回退(相当于浏览器中的上一步小箭头)
----------------forword方法:下一个(相当于浏览器中的下一步小箭头)
----------------go方法:参数是一个数值(num)当数值大于0时,相当于跳转到当前页面后面的num个记录,当小于0时,相当于跳转到当前页面前面的num个记录
---------------length属性:获取历史记录的个数
JSONP
由于同源策略的限制,我们不能直接利用ajax来获取不同页面的数据,但是我们可以通过 script标签直接引用来自不同域的JS文件,这也正好说明script标签不受同源策略的影响,jsonp就 是利用这个原理。
原理解释:利用script标签访问其他域的数据
返回的数据,作为callback函数的参数
本地实现callback,等待返回的数据调用
获取callback的参数,即为获取的数据
实现:1、动态创建script标签
2、拼接callback函数
3、拼接普通参数和设置script的css属性拼接到body后
4、在数据加载完成后删除script标签
注意:必须记住的是jsonp跨域的时候返回的jsonp数据是一个函数调用,在使用之前来定义callback这个函数,然后这个函数可以返回我们想要的数据