2. 删removechild();//该方法不是在待删除的节点上调用,而是在它的父元素节点上调用。 node.parentelement.removechild(node); replacechild();//删除一个子节点,并用一个新的节点取代它。第一个参数是新节点,第二个参数是要删除的节点。 node.parentelement.replacechild(newnode,node);
3. 改许多时候需要对节点属性和内容进行修改。
对属性的修改
属性分为标准html属性和非标准的html属性。
* html属性作为element的属性
html element 定义了通用的http属性,像id、标题lang和dir的属性,以及事件的处理程序属性(onclick)。特定的element子类型还有特定的属性,如img的src属性。
var oimg = document.getelementbyid("img1");oimg.id = "newid";oimg.classname = "classname";oimg.src = "...";
获取和设置非标准的html属性
element定义了getattribute和setattribute方法来查询和设置非标准属性,hasattribute和removeattribute来检测命名属性是否存在和完全删除属性。
对内容的修改
innerhtml:包含标签的内容
innertext(火狐支持不好):纯文本的元素内容
textcontent(ie不支持):纯文本的元素内容
4. 查一步查找到位
document.getelementbyid() 返回对拥有指定 id 的第一个对象的引用。 document. getelementsbyclassname() 返回文档中所有指定类名的元素集合。 document.getelementsbyname() 返回带有指定名称的对象集合。 document.getelementsbytagname() 返回带有指定标签名的对象集合。
查找父子兄弟
对于一个node节点,包含很多种,像:document节点、text节点、comment节点、element节点,我们常常需要获得的是元素节点,忽略掉text和comment节点: firstelementchild,lastelementchild; children => 数组类型:children[0] ,第一个子节点 nextelementsibling,previouselementsibling => 兄弟节点 parentelement => 父亲节点
5. 插node有方法appendchild()和insertbefore()。 parent.appendchild(child); // 插入到最后 parent.insertbefore(newnode,node);//插入到node之前
以上就是原始js实现增删改查插 的详细内容。
