Dom

2019-03-22  本文已影响0人  cj小牛

获取页面元素

为什么要获取页面元素
例如:我们想要操作页面上的一部分(显示,动画),需要先获取到该部分对应的元素,才进行后续操作。

<div id ='main"></div>
<div name ='main"></div>
document.getElementsByName()
根据给定的name 返回一个在(x)HTML document的节点列表集合。
 这个方法不常用,在不同的浏览起返回的东西不一样。尽量不要用。在IE 浏览器和oper 浏览器会返回两个。其他浏览器只返回name = main的这一个

 document.getElementByClassName();
 根据标签的class 属性来获取。返回一个伪数组。
兼容性是IE9 以后才支持。这个方法要看着使用

Document.querySelector()
返回文档中匹配指定的选择器组的第一个元素
eg: var el = document.queryselector(".mayclass");
       var el = document.queryselector("#id");
document.querySelectorAll(); // 获取所有的元素。
上面两个方法根据选择器来选择。兼用器是从ie8以后才支持的。
Element.queryselector()

属性操作

非表单元素的属性

href 、title 、id 、src、class 、Name
获取属性值,设置属性值

表单元素属性

innerHTML 和 innerText.Html

获取开始标签和结束标签之间的内容
innerHTML 获取内通时,如果内通中有标签,会把标签页获取到
innerText 获取内容的时候,如果内容中有标签,会将标签过滤掉。前后的换行和空白都去掉

html 转义符号

F8328A02-DDC6-424E-874B-F8C1FEA8546E.png
innerText 和textContent 区别 9FAC5347-91F4-42B2-952C-8DE7D5794D5B.png

表单元素属性

表单的焦点 onfocus

失去焦点onblur

自定义属性 getAttribute

<div id = 'box' age = '18' personId = "1"> </div>

ver box = document.getElementById('box")
console.log(box.getAttribute('age"))
console.log(box.getAttribute('personId))
设置自定义属性
box.setAttribute('sex','male')
移除属性
box.removeAttribute('sex')

节点

*nodeType 节点的类型
1 元素节点
2 属性节点
3 文本节点

节点层次结构

兄弟关系的节点

nextSibling 下一个兄弟节点
nextElementSibling 下一个元素节点

perviousSibling 上一个节点
perviousElementsibling 上一个元素节点

动态创建元素的三种方式是

*innderHTML 简单的

  var box = document.getElementById('box');
  box.innerHTML = "新设置的内容<p>标签也可以生成</p>";
innerHTML 和document.creatElement()性能都差不多

innerHTML 注意字符串的拼接

常用的元素操作方法

creatElement()
appendChild()
removechild()

insertBefore(新的元素,在那个元素之前) 插入到指定的位置
replaceChild(新的元素,要替换的元素) 替换标签

事件注册

使用

var btn= document.getElementByID('btn');
btn.addEventListenner ('click',function(){
alert();

 })
 btn.addEventListenner ('click',function(){
alert();

 })

这样就可以给btn 添加2个事件

事件的移除

btn.onclick = null;
//如果要移除事件,注册时间的时候不能使用匿名函数
btn.addEventListener('click',function(){
btn.removeEventListener('click",bntclick)
function btnclick(){
btn.removeEventListenner('click",btnclick); // 移除注册的函数
}

事件对象

e.clientX()
e.clientY()

}

box.onclick = fn;
box .onmuouseover = fn;
box.onmouseout = fn;
function fn(2){
e = e|| window.event;
e.type 就是上面函数事件的类型
switch (e.type){
case 'click':
case 'mouseOver':

}
}

获取滚动位置

键盘事件

上一篇 下一篇

猜你喜欢

热点阅读