前端未掌握知识总结

学识渊博、经验丰富,代码风骚、效率恐怖,c#、c/c++、java、php无不精通,熟练掌握各种框架,深山苦练20余年,一天只睡4小时,电话通知出bug后秒登vpn,千里之外定位问题,瞬息之间修复上线。

身体强壮、健步如飞,可连续编程100小时不休息,讨论技术方案5小时不喝水,上至带项目、出方案,下至盗账号、威胁pm,什么都能干。

泡面矿泉水已备好,学校不支持编程已辍学,家人不支持编程已断绝关系,老婆不支持编程已离婚,小孩不支持编程已送孤儿院,备用电源百兆光纤永不断电断网,门口已埋雷无人打扰。

 

1、compareDocumentPosition() 

http://www.w3school.com.cn/jsref/met_node_comparedocumentposition.asp

判断一个段落相比较另一个段落的位置:

var p1=document.getElementById("p1");
var p2=document.getElementById("p2");
p1.compareDocumentPosition(p2);

结果:

4


compareDocumentPosition() 方法比较两个节点,并返回描述它们在文档中位置的整数。

请看上面的例子。返回值可能是:

1:没有关系,两个节点不属于同一个文档。

2:第一节点(P1)位于第二个节点后(P2)。

4:第一节点(P1)定位在第二节点(P2)前。

8:第一节点(P1)位于第二节点内(P2)。

16:第二节点(P2)位于第一节点内(P1)。

32:没有关系,或是两个节点是同一元素的两个属性。


 

2、cloneNode();

 


 

3、HTML <base> 标签

<base> 标签为页面上的所有链接规定默认地址或默认目标。

通常情况下,浏览器会从当前文档的 URL 中提取相应的元素来填写相对 URL 中的空白。

使用 <base> 标签可以改变这一点。浏览器随后将不再使用当前文档的 URL,而使用指定的基本 URL 来解析所有的相对 URL。这其中包括 <a>、<img>、<link>、<form> 标签中的 URL。

http://www.w3school.com.cn/tags/tag_base.asp


 

4、dom的分级

根据W3C DOM规范,DOM是HTMLXML的应用编程接口(API),DOM将整个页面映射为一个由层次节点组成的文件。有1级、2级、3级共3个级别。

1级DOM

1级DOM在1998年10月份成为W3C的提议,由DOM核心与DOM HTML两个模块组成。DOM核心能映射以XML为基础的文档结构,允许获取和操作文档的任意部分。DOM HTML通过添加HTML专用的对象与函数对DOM核心进行了扩展。

2级DOM

DOMDOM
鉴于1级DOM仅以映射文档结构为目标,DOM 2级面向更为宽广。通过对原有DOM的扩展,2级DOM通过对象接口增加了对鼠标和用户界面事件(DHTML长期支持鼠标与用户界面事件)、范围、遍历(重复执行DOM文档)和层叠样式表(CSS)的支持。同时也对DOM 1的核心进行了扩展,从而可支持XML命名空间。
2级DOM引进了几个新DOM模块来处理新的接口类型:
DOM视图:描述跟踪一个文档的各种视图(使用CSS样式设计文档前后)的接口;
DOM事件:描述事件接口;
DOM样式:描述处理基于CSS样式的接口;
DOM遍历与范围:描述遍历和操作文档树的接口;

3级DOM

3级DOM通过引入统一方式载入和保存文档和文档验证方法对DOM进行进一步扩展,DOM3包含一个名为“DOM载入与保存”的新模块,DOM核心扩展后可支持XML1.0的所有内容,包扩XML Infoset、 XPath、和XML Base。

"0级"DOM

当阅读与DOM有关的材料时,可能会遇到参考0级DOM的情况。需要注意的是并没有标准被称为0级DOM,它仅是DOM历史上一个参考点(0级DOM被认为是在Internet Explorer 4.0 与Netscape Navigator4.0支持的最早的DHTML)。

5、$("tbody>tr:even",this)什么意思
 
这句应该是出现在一个事件函数里面的,例如
1 $("#my_table").mouseover(function() {
2     $("tbody>tr:odd",this).addClass(options.odd);
3 });

如果没有第二个参数 this,jQuery 选择器会从 DOM 的顶端开始搜索。但现在 jQuery 会将选择器局限于 this,也就是 #my_table。

$("tbody>tr:odd",this).addClass(options.odd);也可以写为$(this).find("tbody>tr:odd").addClass(options.odd);

类似的代码还有(jquery的on方法)

$("#dataTable tbody").on("click", "tr", function(event){
alert($(this).text());
});
委派事件的方法只有一个元素的事件处理程序,tbody,并且事件只会向上冒泡一层(从被点击的tr 到 tbody ):(网址http://jquery.bootcss.com/on/
 

 

 jQuery对象转成DOM对象: 

两种转换方式将一个jQuery对象转换成DOM对象:[index]和.get(index); 

(1)jQuery对象是一个数据对象,可以通过[index]的方法,来得到相应的DOM对象。 

如:var $v =$("#v") ; //jQuery对象 

var v=$v[0]; //DOM对象 

alert(v.checked) //检测这个checkbox是否被选中 

(2)jQuery本身提供,通过.get(index)方法,得到相应的DOM对象 
如:var $v=$("#v"); //jQuery对象 
var v=$v.get(0); //DOM对象 
alert(v.checked) //检测这个checkbox是否被选中

 

DOM对象转成jQuery对象: 

对于已经是一个DOM对象,只需要用$()把DOM对象包装起来,就可以获得一个jQuery对象了。$(DOM对象) 

如:var v=document.getElementById("v"); //DOM对象 

var $v=$(v); //jQuery对象 

转换后,就可以任意使用jQuery的方法了。 

7、javascript自执行函数的几种写法
(function() {})()

(function() {}())
 
!function() {}()

// 这么写会报错,因为这是一个函数定义:
function() {}()

// 可是我不想加括号,但是又要保证不报错,也就是成为表达式
// 转表达式有很多方式:加!, ~, +, -, 1|, 1&, 0|, 1^, 1%, 0&, 1&&, 0||, "g"^等等
!function() {}()


8、
 
posted @ 2015-02-28 09:56  bookie  阅读(199)  评论(0编辑  收藏  举报