DOM

2018-10-25  本文已影响0人  ft207741

Menu

属性
方法
改变 HTML 样式
创建新的 HTML 元素
Node类型
10.1.4 Text类型 page288
10.1.5 Comment类型 page291
10.1.8 DocumentFragment类型
10.1.9 Attr类型
10.2 DOM 操作技术
10.2.1 动态脚本

属性
方法

getElementById() 返回带有指定 ID 的元素。
getElementsByTagName() 返回包含带有指定标签名称的所有元素的节点列表(集合/节点数组)。
getElementsByClassName() 返回包含带有指定类名的所有元素的节点列表。
appendChild() 把新的子节点添加到指定节点。
removeChild() 删除子节点。
replaceChild() 替换子节点。
insertBefore() 在指定的子节点前面插入新的子节点。
createAttribute() 创建属性节点。
createElement() 创建元素节点。
createTextNode() 创建文本节点。
getAttribute() 返回指定的属性值。
setAttribute() 把指定属性设置或修改为指定的值。
getAttribute()
setAttribute()


改变 HTML 样式
objH = document.getElementById("test");
// 修改元素样式;
objH.style.border="1px solid red";
objH.style.font = "160px 微软雅黑"

创建新的 HTML 元素
<div id="d1">
<p id="p1">This is a paragraph.</p>
<p id="p2">This is another paragraph.</p>
</div>

<script>
var para=document.createElement("p");
var node=document.createTextNode("This is new.");
para.appendChild(node);

var element=document.getElementById("d1");
element.appendChild(para);
</script>

Node类型
if (someNode.nodeType == Node.ELEMENT_NODE){ //在 IE 中无效
alert("Node is an element.");
}


10.1.4 Text类型 page288

10.1.5 Comment类型 page291

10.1.8 DocumentFragment类型
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>

<ul><li>Coffee</li><li>Tea</li></ul>
<p id="demo">单击按钮更改列表项,使用createDocumentFragment方法,然后在列表的最后一个孩子添加列表项。</p>
<button onclick="myFunction()">点我</button>
<script>
function myFunction(){
    var d=document.createDocumentFragment();    // 1.创建虚拟节点;
    d.appendChild(document.getElementsByTagName("LI")[0]);  //2.虚拟节点增加li-coffee节点
    d.childNodes[0].childNodes[0].nodeValue="Milk";    coffee changed milk
    document.getElementsByTagName("UL")[0].appendChild(d);
};

</script>

</body>
</html>

10.1.9 Attr类型

元素的特性在 DOM 中以 Attr 类型来表示。在所有浏览器中(包括 IE8),都可以访问 Attr 类型
的构造函数和原型。从技术角度讲,特性就是存在于元素的 attributes 属性中的节点。特性节点具有
下列特征:

var attr = document.createAttribute("align");
attr.value = "left";
element.setAttributeNode(attr);
alert(element.attributes["align"].value); //"left"
alert(element.getAttributeNode("align").value); //"left"
alert(element.getAttribute("align")); //"left  <- 推荐

10.2.1 动态脚本
上一篇 下一篇

猜你喜欢

热点阅读