标签:
DOM 节点类型
文档节点 Document - 根节点。
文档类型节点 DocumentType - DTD 引用即 <!DOCTYPE> 。
元素节点 Element - 标签。
文本节点 Text - 标签中的文本或 CDataSection 内包含的普通文本。
属性节点 Attr - 元素的属性。
CDataSection - 通常是文本节点和注释节点的父类。
注释节点 Comment - 注释。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
div{
width: 300px;
height: 300px;
background-color: ghostwhite;
}
</style>
</head>
<body>
<a href=""></a>
<div id="div1"></div>
<input type="text" id="inp"/>
<button id="btn">send</button>
<script>
var odiv = document.getElementById("div1");
var oinp = document.getElementById("inp");
var obtn = document.getElementById("btn");
obtn.onclick = function(){
/*获取到文本框的内容*/
var value = oinp.value;
oinp.value = "";
/*创建一个p标签*/
var op = document.createElement("p");
var oa = document.createElement("a");
op.innerHTML = value;
var otext = document.createTextNode("删除");
oa.appendChild(otext);
/*oa.innerHTML = "删除";*/
oa.href="javascript:";
oa.style.fontSize = "12px";
oa.style.color = "red";
/*动态版定*/
oa.onclick = function(){
odiv.removeChild(this.parentNode);
}
/*oa加入到op*/
op.appendChild(oa);
/*op加入到div对象*/
odiv.appendChild(op);
}
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<ul id="ul">
<li><a href="">韦德</a></li>
<li>霍华德</li>
<li>杜兰特</li>
<li>last element</li>
</ul>
<script>
var oul = document.getElementById("ul");
var oli1 = oul.firstElementChild;
oli1.innerHTML = "梅西";
console.info(oul.firstElementChild);
/*创建一个文本节点*/
var otext = document.createTextNode("梅西");
var lastli = oul.lastElementChild;
//lastli.appendChild(otext);
/*直接操作内容*/
lastli.firstChild.appendData("影响大");
lastli.firstChild.insertData(5,"*"); /*第一个参数是位置,第二个参数文本内容*/
lastli.firstChild.deleteData(0,4); /*两个参数,第一个参数表示起始位置,第二个参数长度*/
lastli.firstChild.replaceData(0,20,"&&&");
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
<style>
#div1{
position: relative;
}
</style>
</head>
<body>
<ul id="ul1">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<div id="div1">
<div id="div2">
<div name="div3" style="width: 100px;height: 100px;background-color: #007bc5" id="div3">
<h1>h1</h1>
</div>
</div>
</div>
<script>
var oulEle = document.getElementById("ul1");
/*获取到所有的子节点,childNodes*/
var oul = document.getElementById("div1");
console.info(oul.childNodes);
for(var i=0;i<oul.childNodes.length;i++){
console.info(oul.childNodes[i].nodeType);
}
/*获取到第一个字节点
* 获取到第一个元素节点:火狐 谷歌-》firstElementChild IE-》firstChild*/
var oul2 = document.getElementById("ul1");
var firstc = oul2.firstChild;
console.info(firstc);
var elementChild = oul2.firstElementChild;
console.info(elementChild);
/*兼容性问题*/
var oul3 = document.getElementById("ul1");
var firstC = oul3.firstElementChild;
//firstC.style.backgroundColor = "red"; //改变当前元素的样式
var elementChilds = oul3.firstElementChild || oul3.firstChild;
elementChilds.style.backgroundColor = "green";
/*获取到最后一个子节点*/
var lastElement = oul2.lastElementChild || oul2.lastChild;
lastElement.style.backgroundColor=‘red‘;
/*获取到前一个兄弟节点*/
var odiv = document.getElementById("div1");
var Silbingele = odiv.previousElementSibling || odiv.previousSibling;
console.info(Silbingele.nodeName);
/*获取后一个兄弟节点*/
var nextSil = oulEle.nextElementSibling || oulEle.nextSibling;
console.info(nextSil.nodeName);
/*获取到父节点*/
var odiv2 = document.getElementById("div2");
var parNode = odiv2.parentNode;
console.info(parNode.nodeName);
/*定位父级,偏移父节点*/
var odiv3 = document.getElementById("div3");
var divParent = odiv3.offsetParent;
console.info(divParent.id);
/*获取到属性节点*/
var odiv4 = document.getElementById("div3");
var attrArr = odiv4.attributes;
console.info(attrArr[0].nodeType);
/*直接指定属性的名称*/
console.info(odiv4.id);
/*增加和删除属性*/
odiv4.setAttribute("title","123");
odiv4.removeAttribute("title");
odiv4.title = "123";
/*创建一个节点*/
var op = document.createElement("p");
op.innerHTML = "这是增加的p元素";
var odiv5 = document.getElementById("div3");
//默认增加到最后
odiv5.appendChild(op);
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<ul id="ul">
<li class=""><a href="">韦德</a></li>
<li class="hhd">霍华德</li>
<li class="hhd">杜兰特</li>
<li>last element</li>
</ul>
<input type="text" name="username"/>
<script>
/*替换节点*/
var oul = document.getElementById("ul");
var oli1 = oul.firstElementChild;
var onewli = document.createElement("li");
var onewText = document.createTextNode("james");
onewli.appendChild(onewText);
oul.replaceChild(onewli,oli1);
/*克隆节点*/
var newli = oul.lastElementChild;
var cloneli = newli.cloneNode(false); /*true 深度克隆 false:浅度克隆*/
//oul.appendChild(cloneli);
oul.appendChild(newli);
/*class*/
var arrclass = document.getElementsByClassName("hhd")[1];
console.info(arrclass);
/*通过标签名字找到对象*/
var liArr = document.getElementsByTagName("li")[0];
console.info(liArr)
/**/
var nameArr = document.getElementsByName("username");
console.info(nameArr)
nameArr[0].style.backgroundColor="red";
</script>
</body>
</html>
标签:
原文地址:http://www.cnblogs.com/xieshunjin/p/5645353.html