WEB_DOM操作
1.document.querySelector(); // 里面的参数可以存放 元素标签 和属性选择器 如 document.querySelector('.box')
ondbclick (双击)
<body> <div class="box"> <p>我是一个p标签</p> </div> </body> <script> var p1 = document.querySelector('p'); var parent1 = p1.parentNode.parentNode; // parentNode是他的父节点 console.log(parent1); var oHtml = document.documentElement; // documentElement是html节点 document是HTML文档 console.log(oHtml.parentNode); console.log(document.parentNode); console.log(oHtml.parentElement) </script>
2.元素.childNodes 是一个类数组, 包括换行也算是一个节点
// 孩子节点包括 元素节点1 属性节点2 文本节点3 注释节点8
// firstChild所有儿子的第一个 / lastChild是所有儿子的最后一个 firstElementChild 直接是第一个元素节点
3.Sibling
// 元素.nextSibling 是下一个兄弟,但是包括元素和文本节点
// 元素.nextElementSibling 直接得到下一个兄弟元素节点
// 元素.previousSibling 上一个兄弟,但是包括元素和文本节点
// 元素.previousElementSibling 直接得到上一个兄弟元素节点
4.createElement(创建一个元素节点)
元素.insertBefore(老元素, 新加元素); 在兄弟元素之前添加 (有的IE老版本不支持)
元素.appendChild(新加元素);
添加批量元素推荐使用:innerTHML添加或者用数组添加 如下代码:
8.eventObject
9.event_父亲代理的方法
给父亲绑定事件,通过事件冒泡的原理,实现子元素使用父亲的事件方法
10.mouseevent
// document.addEventListener('mousemove', function(e){
// var left = e.clientX;
// var top = e.clientY;
// document.querySelector('.box').style.left = left + 'px';
// document.querySelector('.box').style.top = top + 'px';
// })
// 在有滚动条的情况下解决div块和鼠标不在一起的问题
//方法1
/*
被滚动条卷入的都是scrolltop 和 scrollleft的 高和宽
给body加高和加宽分浏览器:
火狐和ie 认识 document.documentElement.scrollTop
chrome 认识
var st = document.documentElement.scrollTop || document.scrollTop;
var sl = document.documentElement.scrollLeft || document.scrollLeft;
document.addEventListener('mousemove', function(e){
var left = e.clientX;
var top = e.clientY;
document.querySelector('.box').style.left = left + sl + 'px';
document.querySelector('.box').style.top = top + st + 'px';
})
*/
// 方法2
document.addEventListener('mousemove', function(e){
var left = e.pageX;
var top = e.pageY;
document.querySelector('.box').style.left = left + 'px';
document.querySelector('.box').style.top = top + 'px';
})
14.属性节点
getAttribute 获取属性节点
setAttribute 设置属性节点 也可以设置自定义属性节点
removeAttribute 删除属性节点
15.table栏目切换练习
<body> <div class="box"> <div class="tab_menu"> <ul> <li class="current">游戏鼠标</li> <li>游戏键盘</li> <li>游戏耳机</li> </ul> </div> <div class="tab_content"> <div class="item current">游戏鼠标</div> <div class="item">游戏键盘</div> <div class="item">游戏耳机</div> </div> </div> </body> <script> var tab_menu = document.querySelector('.tab_menu'); var lis = tab_menu.querySelectorAll('li'); var items = document.querySelectorAll('.item'); for(var i=0; i<lis.length; i++){ lis[i].setAttribute('idx', i); lis[i].onclick = function(){ for(var j=0; j<lis.length; j++){ // 用到了排他法 lis[j].className = ""; items[j].style.display = "none" } this.className = 'current'; idx = this.getAttribute("idx"); items[idx].style.display = "block"; } } </script>
16.

浙公网安备 33010602011771号