前端基础BOM和DOM

BOM

window对象

  • window.innerHeight - 浏览器窗口的内部高度
  • window.innerWidth - 浏览器窗口的内部宽度
  • window.open() - 打开新窗口
  • window.close() - 关闭当前窗口 (只能关闭用js的window.open()打开的页面,了解一下就行了)

navigator对象(window子对象)

  • navigator.appName  // Web浏览器全称
  • navigator.appVersion  // Web浏览器厂商和版本的详细字符串
  • navigator.userAgent  // 客户端绝大部分信息
  • navigator.platform   // 浏览器运行所在的操作系统

screen对象

  • screen.availWidth - 可用的屏幕宽度
  • screen.availHeight - 可用的屏幕高度

history对象

  • history.forward() // 前进一页,其实也是window的属性,window.history.forward()
  •  history.back() // 后退一页

location对象

  • location.href 获取URL
  • location.href="URL" // 跳转到指定页面
  • location.reload() 重新加载页面,就是刷新一下页面

弹出框

  • 警告框:alert("你看到了吗?"); //当警告框出现后,用户需要点击确定按钮才能继续进行操作。
  • 确认框:confirm("你确定吗?"); // 如果用户点击确认,那么返回值为 true。如果用户点击取消,那么返回值为 false。
  • 提示框:prompt("请在下方输入","你的答案"); //如果用户点击确认,那么返回值为输入的值。如果用户点击取消,那么返回值为默认值,就是第二个参数,如果没有默认值那么返回null。

计时相关

  • setTimeout() //多长时间以后做什么
  • setInterval() //每隔多长时间做什么
用法:
setTimeout("JS语句",毫秒)
var timer = setTimeout(function(){alert(123);}, 3000)
var t=setInterval("JS语句",毫秒)
var timer = setInterval(function(){console.log(123);}, 3000)
结束:
clearTimeout(timer);
clearInterval(timer);

DOM

HTML DOM 树

  DOM标准规定HTML文档中的每个成分都是一个节点(node):

  • 文档节点(document对象):代表整个文档
  • 元素节点(element 对象):代表一个元素(标签)
  • 文本节点(text对象):代表元素(标签)中的文本
  • 属性节点(attribute对象):代表一个属性,元素(标签)才有属性
  • 注释是注释节点(comment对象) 

  JavaScript 可以通过DOM创建动态的 HTML:

  • JavaScript 能够改变页面中的所有 HTML 元素
  • JavaScript 能够改变页面中的所有 HTML 属性
  • JavaScript 能够改变页面中的所有 CSS 样式
  • JavaScript 能够对页面中的所有事件做出反应(鼠标点击事件,鼠标移动事件等)

查找标签

直接查找

  • document.getElementById //根据ID获取一个标签
  • document.getElementsByClassName //根据class属性获取(可以获取多个元素,所以返回的是一个数组)
  • document.getElementsByTagName //根据标签名获取标签合集

间接查找

  • parentElement //父节点标签元素
  • children //所有子标签
  • firstElementChild //第一个子标签元素
  • lastElementChild //最后一个子标签元素
  • nextElementSibling //下一个兄弟标签元素
  • previousElementSibling //上一个兄弟标签元素

节点操作

创建节点

语法:createElement(标签名)
示例:var divEle = document.createElement("div");

添加节点

语法:
1,追加一个子节点(作为最后的子节点)
omenode.appendChild(newnode);
2,把增加的节点放到某个节点的前边。
somenode.insertBefore(newnode,某个节点);
示例:var imgEle=document.createElement("img");
imgEle.setAttribute("src", "http://image11.m1905.cn/uploadfile/s2010/0205/20100205083613178.jpg");
var d1Ele = document.getElementById("d1");
d1Ele.appendChild(imgEle);

删除节点

语法:获得要删除的元素,通过父元素调用该方法删除。
somenode.removeChild(要删除的节点)

替换节点

语法:somenode.replaceChild(newnode, 某个节点);
somenode是父级标签,然后找到这个父标签里面的要被替换的子标签,然后用新的标签将该子标签替换掉

属性节点

用法(获取文本节点的值):var divEle = document.getElementById("d1")
divEle.innerText  #输入这个指令,一执行就能获取该标签和内部所有标签的文本内容
divEle.innerHTML  #获取的是该标签内的所有内容,包括文本和标签
用法(设置文本节点的值):var divEle = document.getElementById("d1")
divEle.innerText="1"  
divEle.innerHTML="<p>2</p>" #能识别成一个标签,而非字符串

猜你喜欢

转载自www.cnblogs.com/NoteBook3013/p/10559312.html