前端未掌握知识总结
学识渊博、经验丰富,代码风骚、效率恐怖,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是HTML与XML的应用编程接口(API),DOM将整个页面映射为一个由层次节点组成的文件。有1级、2级、3级共3个级别。
1级DOM
2级DOM
3级DOM
"0级"DOM
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());
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、