DOM 定义了访问和操做HTML文档的标准方法css
访问(查找标签)
---- 直接查找
document.getElementById(“idname”)
document.getElementsByTagName(“tagname”)
document.getElementsByName(“name”)
document.getElementsByClassName(“name”)
---- 导航属性
NodeElement.parentElement // 父节点标签元素
NodeElement.children // 全部子标签
NodeElement.firstElementChild // 第一个子标签元素
NodeElement.lastElementChild // 最后一个子标签元素
NodeElement.nextElementtSibling // 下一个兄弟标签元素
NodeElement.previousElementSibling // 上一个兄弟标签元素node
操做
1 文本操做
取值操做
element.innerHTML (关于标签的操做)
element.innerText (关于文本操做)
赋值操做:
element.innerHTML=""
element.innerText=""
2 属性操做 <div key1=value1 key2=value2>DIV</div>
取属性值: (1)element.getAttribute(属性名) 。app
(2)element.属性名 (推荐)
赋值操做: (1)element.setAttribute(属性名,属性值) 。this
(2)element.属性名=属性值
关于class属性:
element.classlist.add("class值")
element.classlist.remove("class值")
关于select标签:
ele_select.options.length=0 清空操做
ele_select.selectedIndex 选中option的索引值
关于style属性:实现对标签的css操做
element.style.样式属性="值"
3 节点操做
-----添加标签
生成一个标签:var ele_create=document.createElement("标签名")
// <p></p> <img>
添加标签:对象
父标签.appendChild(添加标签对象)
insertBefore
-----删除节点:索引
父标签.removeChild(查找到的标签对象)
-----替换节点:
父标签.replaceChild(newnode,查找到的标签对象)
----- 拷贝一个节点
node.cloneNode(true) //true表示同时拷贝子节点
DOM两种绑定事件方式
方式1
<script>
function foo(self){
alert(123)
// self: <p onclick="foo(this)"></p>
}
</script>
<p onclick="foo(this)"></p>
方式2
一个标签对象.on事件=function(){
alert(456)
// this:绑定事件的标签对象
}
事件
具体事件ip
点击事件 onclick
获取/失去焦点 onfocus onblur
内容发生变化 onchange (selecte)
onmouse 与鼠标相关的事件
提交事件:onsubmit
加载事件:onloadssl