• 前段基础之BOM,DOM


    window对象:

      在客户端JavaScript中,Window对象是全局对象,所有的表达式都在当前的环境中,也就是说要引用当前窗户根本不需要特殊的语法,可以吧那个窗口的属性作为全局变量来使用。而且将window.document缩写为:document ,   window.alert()写为alert()

    alert()            显示带有一段消息和一个确认按钮的警告框。
    setInterval()      按照指定的周期(以毫秒计)来调用函数或计算表达式。
    clearInterval()    取消由 setInterval() 设置的 timeout。
    setTimeout()       在指定的毫秒数后调用函数或计算表达式。
    clearTimeout()     取消由 setTimeout() 方法设置的 timeout。
    scrollTo()         把内容滚动到指定的坐标。
    
    confirm()          显示带有一段消息以及确认按钮和取消按钮的对话框。
    prompt()           显示可提示用户输入的对话框。
    open()             打开一个新的浏览器窗口或查找一个已命名的窗口。
    close()            关闭浏览器窗口。

    示例:

    window的子对象:

     navigator对象:

    浏览器对象,通过这个对象可以判定用户所使用的浏览器,包含了浏览器相关信息。
    
    navigator.appName  // Web浏览器全称
    navigator.appVersion  // Web浏览器厂商和版本的详细字符串
    navigator.userAgent  // 客户端绝大部分信息
    navagator.platform   // 浏览器运行所在的操作系统

    history对象:

    浏览历史对象,包含了用户对当前页面的浏览历史,但我们无法查看具体的地址,可以用来前进或后退一个页面。
    
    history.forward()  // 前进一页
    history.back()  // 后退一页
    history.go(n)  //  前进n页

    location对象:

    location.href  获取URL
    location.href="URL" // 跳转到指定页面
    location.reload() 重新加载页面

    DOM

      DOM(Document Object Model)是一套对文档的内容进行抽象和概念化的方法。

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

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

    查找标签:

     

    间接查找:

      节点的查找:

                               

       查找标签:

    document对象的属性和操作:

      属性节点:

    文本节点:

      

    还有一些不常用的文本节点:
    textContent ------------------------与innerText类似,返回的内容带样式
    data         -----------------------文本内容
    length------------------------------文本长度
    createTextNode()--------------------创建文本
    normalize()-------------------------删除文本与文本之间的空白
    splitText()-------------------------分割
    appendData()------------------------追加
    deleteData(offset,count)------------从offset指定的位置开始删除count个字符
    insertData(offset,text)-------------在offset指定的位置插入text
    replaceData(offset,count,text)------替换,从offset开始到offscount处的文本被text替换
    substringData(offset,count)---------提取从ffset开始到offscount处的文本

    样式操作:

      操作class类:

      指定css操作:

    obj.style.backgroundColor="red"
    JS操作CSS属性的规律:
    
    1.对于没有中横线的CSS属性一般直接使用style.属性名即可。如:
    
    obj.style.margin
    obj.style.width
    obj.style.left
    obj.style.position
    2.对含有中横线的CSS属性,将中横线后面的第一个字母换成大写即可。如:
    
    obj.style.marginTop
    obj.style.borderLeftWidth
    obj.style.zIndex
    obj.style.fontFamily

     练习代码演示:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .c1{
                width: 200px;
                height: 200px;
                border-radius: 100px;
                background-color:green;
            }
            .c2{
                background-color: yellow;
            }
        </style>
        <script>
            function change(){
                 var obj=document.getElementById("d1")
    //            obj.classList.add("c2")
                 obj.classList.toggle("c2");
            }
        </script>
    </head>
    <body>
    <div class="d1 c1" id="d1"></div>
    <button id="bt" onclick="change()">切换</button>
    </body>
    </html>
    js改变标签属性,div切换颜色
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <script>
            function allChoose(){
                var l=document.getElementsByTagName("input");
                for(var i=0;i< l.length;i++){
                    l[i].checked=true
                }
    
            }
            function reChoose() {
                var l = document.getElementsByTagName("input");
                for (var i = 0; i < l.length; i++) {
                     if (l[i].checked) {
                        l[i].checked=false
                    }else{
                        l[i].checked=true
                    }
    
    
    
    
                }
            }
            function concle() {
                var l = document.getElementsByTagName("input");
                for (var i = 0; i < l.length; i++) {
                      l[i].checked = false
                }
                }
    
        </script>
    </head>
    <body>
    <div style="border-bottom: 1px solid gray; padding-bottom: 5px">
        <button onclick="allChoose()">全选</button>
        <button onclick="reChoose()">反选</button>
        <button onclick="concle()">取消</button>
    </div>
    <div>
        <table border="1px solid black" style="margin-top: 5px">
            <tr>
                <td><input type="checkbox"></td>
                <td>1111111</td>
                <td>222222</td>
                <td>333333</td>
            </tr>
             <tr>
                 <td><input type="checkbox"></td>
                <td>111111</td>
                <td>2222222</td>
                <td>3333333</td>
            </tr>
             <tr>
                 <td><input type="checkbox"></td>
                <td>11111111</td>
                <td>22222222</td>
                <td>3333333</td>
            </tr>
             <tr>
                 <td><input type="checkbox"></td>
                <td>11111111</td>
                <td>22222222</td>
                <td>33333333</td>
            </tr>
        </table>
    </div>
    
    </body>
    </html>
    表格中CheckBox的全选、反选、取消
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .left{
                width: 15%;
                height: 100%;
                position: fixed;
                left:0;
                top:0;
                background-color: chartreuse;
            }
            .title{
                height:20px;
                text-align: center;
                line-height:20px;
                padding: 5px 0;
                border-bottom: 1px solid hotpink;
            }
            .content>div{
                padding: 5px 10px;
                border-bottom: 1px solid grey;
            }
            .hide{
                display: none;
            }
        </style>
        <script>
            function Menu(that){         
                var contentEles = document.getElementsByClassName("content");
              
                for (var i=0;i<contentEles.length;i++){
                    contentEles[i].classList.add("hide");
                }
                var nextEle = that.nextElementSibling;
                nextEle.classList.remove("hide");
            }
        </script>
    </head>
    <body>
    <div class="left">
    <div class="title" onclick="Menu(this)">菜单一</div>
    <div class="content hide">
        <div>123</div>
        <div>456</div>
        <div>789</div>
    </div>
    <div class="title" onclick="Menu(this)">菜单二</div>
    <div class="content hide">
        <div>123</div>
        <div>456</div>
        <div>789</div>
    </div>
    <div class="title" onclick="Menu(this)">菜单三</div>
    <div class="content hide">
        <div>123</div>
        <div>456</div>
        <div>789</div>
    </div>
    
    </div>
    </body>
    </html>
    js左侧菜单

    事件:

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

    常用属性和操作:

      操作内容:

    innerText                     文本
    innerHTML                    HTML内容
    val                               值

      文档节点的增删改查:

    增:
    
    createElement(name)  创建节点(标签)
    
    appendChild() 末尾添加节点,并返回新增节点
    insertBefore()  参照节点之前插入节点,两个参数:要插入的节点和参照节点
    删:
    
    查找到要删除的元素
    获取它的父元素
    使用removeChild()方法删除
    改:
    
    第一种方式:
    
        使用上面增和删结合完成修改
    
    第二种方式:
    
        使用setAttribute();方法修改属性          
    
        使用innerHTML属性修改元素的内容
    
    查:
    
    使用之前介绍的方法.

      

        

  • 相关阅读:
    一个漂亮的PHP验证码
    一个漂亮的php验证码类(分享)
    PHP中exit()与die()的区别
    自定义PHP页面跳转函数redirect($url, $time = 0, $msg = '')
    MySQL时间字段究竟使用INT还是DateTime
    mysql中为int设置长度究竟是什么意思
    Array数组对象
    Math对象
    对象篇学习-字符串对象
    事件的学习
  • 原文地址:https://www.cnblogs.com/kxllong/p/8137452.html
Copyright © 2020-2023  润新知