HTML基础之DOM常用操作

时间:2024-05-07 17:06:32

DOM(Document Object Model ),文档对象模型,主要用于对HTML和XML文档的内容进行操作。

一、查找节点

直接获取标签
document.getElementById('i1'); //获取id为i1的标签
document.getElementsByTagName('div');//根据标签名称获得标签数组
document.getElementsByClassName('c1');//根据class属性获取标签的数组
document.getElementsByName('dsx');//根据name属性获取标签数组 间接获取标签
var tmp = document.getElementById('h-test');
tmp.parentElement;//父节点标签元素
tmp.children;//所有子标签,以list形式展示
tmp.firstElementChild;//第一个子标签元素
tmp.lastElementChild;//最后一个子标签元素
tmp.nextElementSibling;//下一个兄弟标签元素
tmp.previousElementSibling;//上一个兄弟标签元素

 

二、操作标签

文本内容标签  innerHTML 与 innerText
tmp.innerText;//获取标签中的文本内容
tmp.innerText='修改标签内的文本信息';//更改标签内文本内容
tmp.innerHTML;//获取标签中的所有内容,包含html
tmp.innerHTML='<a href="http://www.cnblogs.com/mululu/">lulu_blog</a>';//innerHTML 可以将含有HTML代码的字符串变为标签

input、textarea标签

tmp.value;//获取input、textarea参数
tmp.value ='内容';//对input、textarea 的内容进行赋值

select标签

tmp.value;//获取select标签的value参数
tmp.value ='选项';//修改select标签选项
tmp.selectedIndex;//获取select标签的选项下标
tmp.selectedIndex=;//通过下标更改select的选项

三、操作样式

var demo = document.getElementById('clst');
demo.className = 'inner';// 更改标签class属性 只能有一个class属性
demo.className = 'inner tmp1';//加css样式
demo.classList; // 获取样式数组
demo.classList.remove('tmp1'); //删除样式
demo.classList.add('tmp2'); //添加样式 数组
demo.backgroundColor = 'red';//修改背景色
demo.style.height='100px';//设置高宽 问题:什么场景需要去操作样式?

四、操作属性

demo.setAttribute(key,value);//设置属性,在标签中添加属性或自定义属性
demo.removeAttribute(key);//删除属性,在标签中删除指定属性
demo.attributes;//获取标签的所有属性

五、创建标签

对象方式创建标签
增加input标签,增加value name type class height width等属性
var input = document.createElement('input');
// input.setAttribute('class','c1');
// input.setAttribute('value','123');
// input.style.height='100px';
// input.style.width='100px';
appendChild(input); //在父级标签内添加一个子标签对象

字符串方式

tagStr = '<input type="text" name="mll" class="c1" style="height: 100px; width: 100px;" value="123">'
insertAdjacentHTML(where, tagStr) //父级标签内或外添加一个子、兄标签

where有以下四种方式:

beforeBegin //插入到获取到标签的前面
afterBegin //插入到获取到标签的子标签的前面
beforeEnd //插入到获取到标签的子标签的后面
afterEnd //插入到获取到标签的后面

六、其它操作

location.href;//获取当前url
location.href="http://www.baidu.com";//重定向
location.reload();//刷新
location.href = location.href //刷新
console.log(msg);//打印数据
alter();//弹框提示
confirm();//确认弹框,返回true or false