前端基础知识-DOM操作

DOM(Document Object Model 文档对象模型)

1、包含了整个页面的所有功能,可以通过调用方法的形式来对页面进行操作;

2、JavaScript与Dom的区别:

  JavaScript是脚本语言,可以写逻辑性代码;而Dom是文档对象模型,可以直接操作页面;

  JavaScript+Dom:可以有逻辑的操作页面

3、获取标签

 1 //直接获取标签
 2 document.getElementById('inner1');  //通过ID获取标签
 3 document.getElementsByClassName('inner');  //通过class获取标签数组
 4 document.getElementsByTagName('div');  //通过标签名称获取标签数组
 5 document.getElementsByName('username');  //通过标签的属性为name的值定位标签数组
 6 
 7 //间接获取标签
 8 var tmp = document.getElementById('inner1');
 9 tmp.children   //获取标签下的所有子元素,返回一个列表
10 tmp.children[1]  //获取第二个子标签
11 tmp.firstElementChild  //获取第一个子标签
12 tmp.parentElement  //获取父节点标签
13 tmp.nextElementSibling  //获取下一个兄弟标签
14 tmp.previousElementSibling  //获取上一个兄弟标签
15 
16 //例子
17 tmp.parentElement.nextElementSibling.children[4].children[1]

 4、操作标签

1 //操作select元素
2 var tmp = document.getElementById('s1');  //根据标签获取元素
3 tmp.value   //获取selected的值
4 tmp.value='shanghai'   //修改select选项
5 tmp.selectedIndex=1  //修改select下标

 innerText 与 innerHTML:

1 innerText 与 innerHTML 
2 var tmp = document.getElementById('inner1');  //根据ID获取元素
3 tmp.innerText   //获取标签中的文本内容
4 tmp.innerHTML  //获取标签中的所有内容,包含html代码
5 tmp.innerText = '测试'  //更改便签内的文本内容,如果赋值的内容包含标签的字符串,依旧会以字符串的形式存储
6 tmp.innerHTML='"<a href='http://www.baidu.com'>测试一下</a>"' 
7   //如果赋值的内容包含标签的字符串,它会直接转换成标签元素

 5、操作样式

1 tmp.className    //获取class
2 tmp.className='tmp1'    //修改class的值
3 tmp.classList   //获取样式数组
4 tmp.classList.add('aaa'); //添加样式 数组
5 tmp.classList.remove('aaa'); //删除样式
6 
7 操作单独样式
8 style.xxx //操作样式的粒度更加细化,操作单个样式属性,相当于在标签中增加一个style属性
9 style.backgroundColor // 例:在css中样式可以通过【-】进行连接,在JavaScript中,所有的【-】都被去掉,【-】后面的第一个字符大写

 6、操作属性

1 var input = document.getElementById('r1')
2 input.attributes   //获取标签下的所有属性
3 input.setAttribute('class','c1')   //setAttribute(key,value): 设置属性,在标签中添加属性或自定义属性
4 input.removeAttribute('class')  //removeAttribute(key): 删除属性,在标签中删除指定属性

7、创建标签

1 //通过创建对象的形式创建标签
2 var input = document.createElement('input')  //createElement(tagName): 通过DOM创建一个标签对象
3 input.setAttribute('type','text')   //添加属性
4 input.setAttribute('value','这是通过创建对象的形式新增的标签')   //添加属性
5 document.getElementById('create').appendChild(input)  //appendChild(tagObj): 在父级标签内添加一个子标签对象
 1 //通过字符串形式创建标签
 2 var input = '<input type="text" value="这是通过字符串的形式创建的标签">'
 3 var div = document.getElementById('create');
 4 div.insertAdjacentHTML('afterBegin',input);
 5 
 6 //insertAdjacentHTML(where,tagStr): 父级标签内添加一个子标签字符串
 7 //beforeBegin: 插入到获取到标签的前面
 8 //afterBegin: 插入到获取到标签的子标签的前面
 9 //beforeEnd: 插入到获取到标签的子标签的后面
10 //afterEnd: 插入到获取到标签的后面

 

posted @ 2019-06-17 15:42  年轻小阿姨  阅读(190)  评论(0编辑  收藏  举报