由于我一直以来学的是Jquery,对于js的知识还真是不太了解。今天,同学问我关于添加一个节点的问题,遇到了很多问题,借着机会整理一下js和少于的与Jquery的对比。
一.节点的选取
选取id,Jquery中时$("#id") ,js中是document.getElementById("id")。由于选取的id是唯一的,所以不能取.length或size(),否则会报错。
选取class,Jquery中是$(".class"),js中是document.getElementsByClassName("class"),由于选取的是对象数组,因此可以用属性.length(Jquery中也可用方法size())。
选取标签,Jquery中是$("p"),js中是document.getElementsByTagName("p"),选取的也是对象数组,取第一个节点要后面加上[0]。
二.父子兄节点的选取
父节点,Jquery中.parent()查找父亲,.parents()查找祖先。js中找父节点.parentNode
子节点,Jquery中.children()查找儿子,.find()查找子孙(子集的操作),.filter()查找子孙(自身的操作)。(http://www.cnblogs.com/qiantuwuliang/archive/2009/10/18/1585682.html)js中.childNodes获得所有孩子,.firstChild第一个孩子,.lastChild最后一个孩子。
兄弟节点,Jquery中.prev()上一个兄弟节点,.pervAll()所有哥哥节点,.next()下一个兄弟节点,.nextAll()所有弟弟节点,.siblings()所有兄弟节点。js中,.previousSbiling上一个兄弟节点,.nextSbiling下一个兄弟节点。