zoukankan      html  css  js  c++  java
  • 前端基础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>" #能识别成一个标签,而非字符串
    

    属性(attribute)操作

    var divEle = document.getElementById("d1");
    divEle.setAttribute("age","18")  #设置属性
    divEle.getAttribute("age")      #获取属性
    divEle.removeAttribute("age")  #移除属性
    

    获取值操作

    语法:
    element.value
    适用于以下标签,用户输入或者选择类型的标签:
    1.input        # 获取用户输入的内容
    2.select       # 获取用户选取的内容的值(value)
    3.textarea     # 获取用户输入的内容
    

    CLASS的操作

    用法:
    标签对象.classList.add(cls)  #添加类
    标签对象.classList.remove(cls)  #删除指定类
    标签对象.classList.contains(cls)  #查看指定类存在返回true,否则返回false
    标签对象.classList.toggle(cls)  #存在就删除,否则添加,toggle的意思是切换,有了就给你删除,如果没有就给你加一个
    

    CSS的操作

    用法:
    标签对象.style.css属性     # 中间-连接的属性,首字母大写
    如:obj.style.backgroundColor="red"
    

    常用事件

    onclick        #当用户点击某个对象时调用的事件句柄。
    ondblclick     #当用户双击某个对象时调用的事件句柄。
    
    onfocus        #元素获得焦点。               // 练习:输入框
    onblur         #元素失去焦点。               应用场景:用于表单验证,用户离开某个输入框时,代表已经输入完了,我们可以对它进行验证.
    onchange       #域的内容被改变。             应用场景:通常用于表单元素,当元素内容被改变时触发.(select联动)
    
    onkeydown      #某个键盘按键被按下。          应用场景: 当用户在最后一个输入框按下回车按键时,表单提交.
    onkeypress     #某个键盘按键被按下并松开。
    onkeyup        #某个键盘按键被松开。
    onload         #一张页面或一幅图像完成加载。
    onmousedown    #鼠标按钮被按下。
    onmousemove    #鼠标被移动。
    onmouseout     #鼠标从某元素移开。
    onmouseover    #鼠标移到某元素之上。
    
    onselect      #在文本框中的文本被选中时发生。
    onsubmit      #确认按钮被点击,使用的对象是form。

    事件绑定方式

    • 方式一:
      <div id="d1" onclick="changeColor(this);">点我</div>  
      <script>  
        function changeColor(ths) {  
          ths.style.backgroundColor="green";
        }
      </script>

    • 方式二:
      <div id="d2">点我</div>
      <script>
        var divEle2 = document.getElementById("d2");
        divEle2.onclick=function () {
         //console.log(this) this.innerText="呵呵"; #哪个标签触发的这个事件,this就指向谁 } </script>
  • 相关阅读:
    应急响应之如何发现隐藏的Webshell后门
    从失败终止到崩溃
    DumpConfigurator Utility工具
    使例外成为例外(而不是异常)
    用于可视化虚拟内存使用情况和GC堆使用情况的工具。
    关于EEMessageException异常
    c#/C++混合编程的一个问题
    关于std::__non_rtti_object异常
    仅通过转储来排除内存泄漏
    调试器不应该改变行为
  • 原文地址:https://www.cnblogs.com/NoteBook3013/p/10559312.html
Copyright © 2011-2022 走看看