DOM:管理我们的文档 增删改查规则
【HTML中的DOM操作】
一些常用的HTML DOM方法:
getElementById(id) - 获取带有指定id的节点(元素)
appendChild(node) - 插入新的子节点(元素)
removeChild(node) - 删除子节点(元素)
一些常用的HTML DOM属性;
innerHTML - 节点(元素)的文本值
parentNode - 节点(元素)的父节点
childNodes - 节点(元素)的子节点
attributes - 节点(元素)的属性节点
查找节点:
getElementById()返回带有指定ID的元素
getElementsByTagName()返回包含带有指定标签名称的所有元素的节点列表(集合/节点数组)。
getElementsByClassName()返回包含带有指定类名的所有元素的节点列表
增加节点:
createAttribute()创建属性节点
createElement()创建元素节点
createTextNode()创建文本节点
insertBefore()在指定的子节点前面插入新的子节点
appendChild()把新的子节点添加到指定节点
删除节点:
removeChild()删除子节点
replaceChild()替换子节点
修改节点:
setAttribute() 修改属性
setAttributeNode()修改属性节点
DOM操作:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
function dianwo(){
var div = document.getElementById("div1");
//创建元素节点
var p = document.createElement("p");//<p></p>
//创建文本节点
var textNode= document.createTextNode("文本内容");//文本内容
//将p和文本内容关联起来
p.appendChild(textNode);//<p>文本</p>
//将P添加到目标div中
div.appendChild(p);
}
</script>
</head>
<body>
<input type="button" value="点我,添加P" onclick="dianwo()"/>
<!--一会动态的往这个div中添加节点-->
<div id="div1">
</div>
</body>
</html>
省市联动:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
var provinces = [
["深圳市","东莞市","惠州市","广州市"],
["长沙市","岳阳市","株洲市","湘潭市"],
["厦门市","福州市","漳州市","泉州市"]
];
function selectProvince(){
var province = document.getElementById("province");
//得到当前选中的是哪个省份
//alert(province.value);
var value = province.value;
//从数组中取出对应的城市信息
var cities=provinces[value];
var citySelect=document.getElementById("city");
//清空select中的option
citySelect.options.length=0;
for(var i=0;i<cities.length;i++)
{
//alert(cities[i]);
var cityText=cities[i];
//动态创建城市元素节点 <option>东莞市</option>
//创建option节点
var option1=document.createElement("option");//<option></option>
//创建城市文本节点
var textNode=document.createTextNode(cityText);//东莞市
//将option节点和文本内容关联起来
option1.appendChild(textNode);//<option>东莞市</option>
//添加到城市select中
citySelect.appendChild(option1);
}
}
</script>
</head>
<body>
<!--
选择省份
-->
<select onchange="selectProvince()" id="province">
<option value="-1">--请选择--</option>
<option value="0">广东省</option>
<option value="1">湖南省</option>
<option value="2">福建省</option>
</select>
<!--选择城市-->
<select id="city"></select>
</body>
</html>
商品的左右选择:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
function selectOne(){
//1.获取左边Select中被选中的元素
var leftSelect=document.getElementById("leftSelect");
var options=leftSelect.options;
var rightSelect = document.getElementById("rightSelect");
//遍历找出被选中的option
for(var i=0;i<options.length;i++){
var option1=options[i];
if(option1.selected)
{
//2.将选中的元素添加到右边的Select中就可以
rightSelect.appendChild(option1);
}
}
}
function selectAll(){
//1.获取左边Select中被选中的元素
var leftSelect=document.getElementById("leftSelect");
var options=leftSelect.options;
var rightSelect = document.getElementById("rightSelect");
//遍历找出被选中的option
for(var i=options.length-1;i>=0;i--){
var option1=options[i];
rightSelect.appendChild(option1);
}
}
</script>
</head>
<body>
<table border="1px" width="400px">
<tr>
<td>分类名称</td>
<td><input type="text" value="手机数码"/></td>
</tr>
<tr>
<td>分类描述</td>
<td><input type="text" value="这里面都是手机数码"/></td>
</tr>
<tr>
<td>分类商品</td>
<td>
<!--左边-->
<div style="float: left;">
已有商品<br />
<select multiple="multiple" id="leftSelect" ondblclick="selectOne()">
<option>华为</option>
<option>小米</option>
<option>锤子</option>
<option>oppo</option>
</select>
<br />
<a href="#" onclick="selectOne()"> >> </a><br />
<a href="#" onclick="selectAll()"> >>> </a>
</div>
<!--右边-->
<div style="float: right;">
已有商品<br />
<select multiple="multiple" id="rightSelect">
<option>苹果6</option>
<option>苹果7</option>
<option>诺基亚</option>
<option>波导</option>
</select>
<br />
<a href="#"> << </a><br />
<a href="#"> <<< </a>
</div>
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="提交" />
</td>
</tr>
</table>
</body>
</html>