一、获取节点
方法 | 描述 |
---|
getElementById() | 根据id获取dom对象,如果id重复,则以第一个为准 |
getElementsByName() | 根据name属性值获取dom对象数组,常用于多选获取值 |
getElementsByTagName() | 根据标签名获取dom对象数组 |
getElementsByClassName() | 根据样式名获取dom对象数组 |
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<p id="p1" class="para"> 这是段落1</p>
<p id="p1" class="para"> 这是段落2</p>
姓名;
<input type="text" name="txt"/><br />
兴趣:
<input type="checkbox" name="hobby" value="游泳"/>游泳
<input type="checkbox" name="hobby" value="画画"/>画画
<input type="checkbox" name="hobby" value="跳舞"/>跳舞
<hr />
<a href="javascript:void(0)" onclick="byId()">按照id获取</a>
<a href="javascript:void(0)" onclick="byName()">按照name获取</a>
<a href="javascript:void(0)" onclick="byTag()">按照标签名获取</a>
<a href="javascript:void(0)" onclick="byClass()">按照样式名获取</a>
</body>
<script type="text/javascript">
function byId(){
var p=document.getElementById("p1");
console.log(p);
}
function byName(){
var hobbys=document.getElementByName("hobby");
console.log(hobbys);
}
function byTag(){
var inputs=document.getElementsByTagName("input");
console.log(inputs);
for(var i=0; i < inputs.length; i ++){
console.log(inputs[i].type);
console.log(inputs[i].value);
if(inputs[i].type == "checkbox"){
console.log(inputs[i].checked);
}
}
}
function byClass(){
var para=document.getElementsByClassName("para");
console.log(para);
}
</script>
</html>
注意: href=“javascript:void(0)” 为伪协议,表示不执行跳转,而执行指定的点击事件
二、创建节点
方法 | 描述 |
---|
createElement() | 创建一个新的节点,需要传入节点的标签名称,返回创建的元素对象 |
createTextNode() | 创建一个文本节点,可以传入文本内容 |
innerHTML | 创建节点,直接添加到指定位置 |
三、插入节点
方法 | 描述 |
---|
write() | 将任意的字符串插入到文档中 |
appendChild() | 向元素中添加新的子节点,作为最后一个子节点 |
insertBefore() | 向指定的已有节点之前插入新的节点 |
四、间接查找节点
方法 | 描述 |
---|
childNodes | 返回元素的一个子节点的数组 |
firstChild | 返回元素的第一个子节点 |
lastChild | 返回元素的最后一个子节点 |
nextSibling | 返回元素的下一个兄弟节点 |
parentNode | 返回元素的父节点 |
previousSibling | 返回元素的上一个兄弟节点 |
五、删除节点
方法 | 描述 |
---|
removeChild() | 从元素中移除子节点 |