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的选项