DOM基础

//1,获取指定标签

//通过id查找对应的元素节点,返回一个具体的元素节点

var one= document.getElementById("one");

//通过class名查找对应的元素节点,返回一个 包含元素节点的数组

var ones= document.getElementsByClassName("son");

//通过标签查找对应的元素节点,返回一个 包含元素节点的数组

var divs  = document.getElementsByTagName("div");

//通过选择器获取查找元素节点 返回一个包含元素节点的数组

var divall= document.querySelectorAll(".fat .son");

//通过选择器获取查找元素节点 返回一个包含元素节点,只返回找到的第一个

var divsel= document.querySelector(".fat .son");

//特殊的节点

//1,document 文档节点

console.log(document);

//2,html 节点

console.log(document.documentElement);

//3,body 节点

console.log(document.body);

//4,head 节点

console.log(document.head);

//5,声明节点

console.log(document.doctype);

//2,创建新的标签

var imgM= document.createElement("img");

imgM.src= "img/1.jpg";

imgM.width= "300";

//3,添加标签

var conDiv= document.getElementById("container");

//(1)A.appendChild(B) :将B元素添加到A元素内部的后边 A 和 B 是父子关系

conDiv.appendChild(imgM);

//(2) A.insertBefore(B,C) 将B元素添加到 A元素中 C元素的前边.A 和 B,C 是父子关系

var linkm= document.createElement("a");

linkm.innerText= "图片";

linkm.innerHTML+= "拼在后边";

var txt=document.createTextNode("最后边");

linkm.appendChild(txt);

linkm.href= "###";

conDiv.insertBefore(linkm,imgM);

//4,替换标签

var pM= document.createElement("p");

pM.innerHTML= "P";

//A.replaceChild(B,C) 用B元素 替换A元素中的C 元素

conDiv.replaceChild(pM,imgM);

//5,移除标签

//A.removeChild(B):移除A元素中的B元素

conDiv.removeChild(linkm);


//一: 设置属性

//第1种设置方式

// div.id = "oneDiv";

// div.className = "oneDiv";

//第2种设置方式

div.setAttribute("id","oneDiv");

div.setAttribute("class","oneDiv");

//二: 获取属性

//第一种获取方式

console.log(div.id);

console.log(div.className);

//第二种获取方式

console.log(div.getAttribute("id"));

console.log(div.getAttribute("class"));

//判断元素是否拥有某一个属性

var rel= div.hasAttribute("id");

if(rel){

console.log(div.getAttribute("id"));

}

//其他获取操作

//(1)子节点

var childs= div.childNodes;

console.log(childs);

//(2)父节点

var parent= div.parentNode;

console.log(parent);

//(3)上一个兄弟节点

var sib= div.previousSibling;

console.log(sib);

//(4)下一个兄弟节点

var nextSib= div.nextSibling;

console.log(nextSib);

//(5)div 标签的节点名(大写形式放回当前元素节点名)

var name= div.nodeName;

console.log(name);

//(6)标签的克隆

//A.cloneNode(deep):克隆A标签,并返回. 

/*deep 是一个布尔值:

* ture 同时克隆A标签中的内容及子元素

* false 只克隆当前A标签

*/

var val= div.cloneNode(true);

document.body.appendChild(val);

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 12,383评论 2 17
  • DOM基础 第一章:DOM概述 1.1DOM以及节点概念 ​ 文档对象模型DOM(Document Object ...
    LinDaiDai_霖呆呆阅读 1,677评论 0 0
  • 单例模式 适用场景:可能会在场景中使用到对象,但只有一个实例,加载时并不主动创建,需要时才创建 最常见的单例模式,...
    Obeing阅读 6,375评论 1 10
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,079评论 1 45
  • 之前通过深入学习DOM的相关知识,看了慕课网DOM探索之基础详解篇这个视频(在最近看第三遍的时候,准备记录一点东西...
    微醺岁月阅读 10,046评论 2 61