DOM(Document Object Model 文档对象模型)
一个web页面的展示,是由html标签组合成的一个页面,dom对象实际就是将html标签转换成了一个文档对象。可以通过dom对象中js提供的方法,找到html的各个标签。通过找到标签就可以操作标签使页面动起来,让页面动起来。
以chrom为例,F12-console中输入document,可以通过document来定位元素
// 直接获取标签
document.getElementById('i1'); //获取id为i1的标签
document.getElementsByTagName('div'); //根据标签名称获得标签数组
document.getElementsByClassName('c1'); //根据class属性获取标签的数组
document.getElementsByName('xx'); //根据name属性获取标签数组
id和class比较常用
// 间接获取标签-当标签没有id、class直接定位时,要用到间接定位:分析html目标标签和当前标签的关系,屡清楚寻找路径
var tmp=document.getElementById('h-test'); //定义一个变量tmp
tmp.parentElement; // 父节点标签元素
tmp.children; //所有子标签
tmp.firstElementChild; //拿到当前对象的第一个子标签元素
tmp.lastElementChild; // 拿到当前对象的最后一个子标签元素
tmp.nextElementSibling; //下一个兄弟标签元素
文本操作:
innerHTML与innerText
var tmp=document.getElementById('inner1');
tmp.innerText; // 获取标签中的文本内容
tmp.innerText='重新赋值'; //更改标签内文本内容(能获取到就能修改)
tmp.innerHTML; // 获取标签中的所有内容,包含html代码
tmp.innerHTML = '<a href="http://www.baidu.com">ddd</a>' // innerHTML 可以将含有HTML代码的字符串变为标签
两者区别:
element.innerText='<a href="http://www.baidu.com">跳转到百度</a>' #inner1的位置显示输入百度链接内容(字符串)
element.innerHTML='<a href="http://www.baidu.com">跳转到百度</a>' ####显示跳转到百度(可跳转的链接)
input、textarea标签
tmp.value; //获取input、textarea参数
tmp.value = '内容' // 对input、textarea的内容进行赋值 select标签
tmp.value; //获取select标签的value参数
tmp.value = '选项' // 修改select选项
tmp.selectedIndex; // 获取select标签的选项下标
tmp.selectedIndex = 1 // 通过下标更改select的选项