文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python的dom节点怎么获取

2023-06-28 23:57

关注

本文小编为大家详细介绍“Python的dom节点怎么获取”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python的dom节点怎么获取”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

1. dom节点

1.1 dom节点获取

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>DOM document object model 文档顶级节点</title></head><body>    <div id="box">        <p class="p1" >张三</p>        <p class="p2">李四</p>        <p class="p3">赵刘</p>        <p name="ceshi1"></p>        <p name="ceshi1"></p>    </div>    <div>        <input type="text" name="username" />        <input type="password" name="pwd" />        <p1>112233</p1>        <box>55666</box>    </div>    <script>        console.log(document)        // ### 1 通过id获取div节点对象        var box = document.getElementById("box");        console.log(box);        // ### 2 通过类名获取节点对象 [返回的是数组]        var p2 = document.getElementsByClassName("p2");        console.log(p2 , typeof(p2));        // 获取李四节点对象        lisi = p2[0];        console.log(lisi)        // 获取王五节点对象        wangwu = p2[1];        console.log(wangwu);        // ### 3.通过标签获取节点对象 [返回的是数组]        var p = document.getElementsByTagName("p");        console.log(p)        console.log(p[1])        // ### 4.通过标签身上的name属性 [返回的是数组] 一般用在input表单中        var ceshi1 = document.getElementsByName("username")[0];        console.log(ceshi1);        // ### 通过css选择器获取对应的元素节点                // ### 5.querySelector ,只获取找到的第一个;        var p1 = document.querySelector(".p1");        console.log(p1)        var box = document.querySelector("#box");        console.log(box)        // input表单有两个,但是只获取第一个;        var input = document.querySelector("input");        console.log(input);        // ### 6.querySelectorAll 获取所有找到的元素节点,返回数组        var all = document.querySelectorAll("input[name=username]")[0];        console.log(all);    </script></body></html>

1.2 节点元素层级关系

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>节点元素层级关系</title></head><body>    <div id="box">        <p>            <input type="text" name="username" />            <input type="password" name="pwd" />        </p>        <p class="p1" >张三</p>        <p class="p2">李四</p>        <p class="p3">赵刘</p>        <p name="ceshi1"></p>        <p name="ceshi1"></p>    </div>    <script>        // ### 获取对应的节点元素        console.log(document)        console.log(document.documentElement); // html        console.log(document.documentElement.children)         // 找html里面所有的子节点children        var html_children = document.documentElement.children        console.log(html_children) // head , body        body = html_children[1];        console.log(body); // head , body        var div = body.children[0]        console.log(div);        var p0 = div.children[0]        console.log(p0)        var input = p0.children        console.log(input)        var input1 = input[0]        console.log(input1)        // 获取下一个节点对象nextSibling        console.log(input1.nextSibling.nextSibling);        // 获取下一个元素节点对象 nextElementSibling        var input2 = input1.nextElementSibling;        console.log(input2);        // 获取上一个节点对象 previousSibling        console.log(input2.previousSibling)        // 获取上一个元素节点对象 previousElementSibling        console.log(input2.previousElementSibling)        // 获取input2父节点元素对象;        console.log(input2.parentElement)    </script></body></html>

1.3 修改_清空内容

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>DOM 修改/清空内容</title></head><body>    <button onclick="func1()">修改内容</button>    <button onclick="func2()">清空内容</button>    <div id="box" >        <p>我是最帅的最有钱的<a href="#">最有味的</a>男人</p>    </div>    <script>        // innerHTML 获取标签里面所有内容 [标签 + 文本]        // innerText 获取标签里面所有字符串[文本]        var p = document.querySelector("#box p");        // console.log把数据展现在控制台        console.log(p);        // document.write 把数据以字符串的形式展现在浏览器        document.write(p);        // 点击button1触发如下任务 , 修改        function func1(){            var content = p.innerHTML;            var content = p.innerText;            console.log(content);            // p.innerHTML = `我被修改了 <a href=''>点我中大奖</a>...1`;            p.innerText = `我被修改了 <a href=''>点我中大奖</a>...2`;        }        // 点击button2触发如下任务 , 清空        function func2(){            p.innerHTML = '';        }    </script></body></html>

1.4 隐藏显示密码效果

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>隐藏显示密码效果</title></head><body>    <input type="password" name="pwd" value="111" class="abcd" /> <button onclick="change()" id="btn" >点我显示密码</button>    <div>        <img src="images/oneal1.jpg" />    </div>        <script>        // 效果1: 显示隐藏密码        var password = document.querySelector("input[name=pwd]")        console.log(password);        console.log(password.type);        console.log(password.name);        console.log(password.value);         console.log(password.className)        function change(){            var btn = document.querySelector("#btn")            console.log(btn);            if(password.type=="password"){                password.type = "text";                btn.innerHTML = "点我隐藏密码";            }else{                password.type= "password";                btn.innerHTML = "点我显示密码";            }        }        // 效果2:点击换图片        var img = document.querySelector("img");        console.log(img)        img.onclick = function(){            console.log(img.src) // http://127.0.0.1:5500/images/oneal1.jpg            var arr = img.src.split("/")            imgname = arr[arr.length - 1]            console.log(arr , imgname);            if(imgname == "oneal1.jpg"){                img.src = "images/bakeli.jpg";            }else{                img.src = "images/oneal1.jpg";            }        }    </script></body></html>![请添加图片描述](https://file.lsjlt.com/upload/202306/27/fw1rsttbsfy.jpg?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA54as5aSc5rOh6p645p2e,size_20,color_FFFFFF,t_70,g_se,x_16)

2. 全选_反选_不选

2.1 全选_反选_不选

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>全选,反选,不选</title>    <style>        *        {margin:0px;padding:0px;}        ul        {list-style: none;}        #ul1 li        {float:left;}        #ul1 li button        {width:80px;height:30px;}        #ul1 li button:hover        {background-color: tan;}        #ul2        {clear:both;}    </style></head><body>    <ul id="ul1">        <li><button>全选</button></li>                <li><button>不选</button></li>        <li><button>反选</button></li>    </ul>    <ul id="ul2">        <li><input type="checkbox"  /> 看电影 </li>        <li><input type="checkbox" /> 吃面 </li>        <li><input type="checkbox" /> 烫头 </li>        <li><input type="checkbox" /> 跑步 </li>        <li><input type="checkbox" /> 篮球 </li>    </ul>    <script>        // 获取btn节点对象        var btn1 = document.querySelector("#ul1 li:nth-child(1) button");        var btn2 = document.querySelector("#ul1 li:nth-child(2) button");        var btn3 = document.querySelector("#ul1 li:nth-child(3) button");        // 全选        btn1.onclick = function(){            // 获取#ul2 li 里的input                        var data_lst = document.querySelectorAll("#ul2 li input");            console.log(data_lst)            // 获取数组当中每一个input节点元素对象            for(var input of data_lst){                //console.log(input.checked)                // 设置节点input的checked属性为true;                input.checked = true;                            }        }        // 不选        btn2.onclick = function(){            var data_lst = document.querySelectorAll("#ul2 li input");            console.log(data_lst)            // 获取数组当中每一个input节点元素对象            for(var input of data_lst){                //console.log(input.checked)                // 设置节点input的checked属性为true;                input.checked = false;                            }        }        // 反选        btn3.onclick = function(){            var data_lst = document.querySelectorAll("#ul2 li input");            console.log(data_lst)            // 获取数组当中每一个input节点元素对象            for(var input of data_lst){                if(input.checked === true){                    input.checked = false;                }else{                    input.checked = true;                }            }        }    </script></body></html>

2.2 js控制css的相关属性

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>js控制css的相关属性</title>    <style>        .box        {border:solid 1px red;}        .box_new        {position: absolute; left:200px;}    </style></head><body>    <button id="box1">点击我换颜色</button>    <button id="box2">点击我隐藏</button>    <button id="box3">点击我显示</button>    <button id="box4">点击边框换圆角</button>    <button id="box5">点击加样式</button>    <div class="box" >你好评</div>   <script>        var box = document.querySelector(".box");        console.log(box);        // js的dom对象获取相关的css属性        // 获取方法一        console.log(box.style.width);        console.log(box.style.backgroundColor);        // 获取方法二        console.log(box.style["width"]);        console.log(box.style["background-color"]);        console.log(box.style["font-size"]);        // 获取方法三 getComputedStyle 获取该节点对象的所有样式       console.log( window.getComputedStyle(box)["font-size"] , "<===getComputedStyle===>");       console.log( window.getComputedStyle(box).fontSize , "<===getComputedStyle===>");        // 事件绑定       var box1 = document.getElementById("box1");       var box2 = document.getElementById("box2");       var box3 = document.getElementById("box3");       var box4 = document.getElementById("box4");       var box5 = document.getElementById("box5");       box1.onclick = function(){            box.style.backgroundColor = "red";       }       box2.onclick = function(){            box.style.display = "none";       }       box3.onclick = function(){            box.style.display = "block";       }       box4.onclick = function(){            //box.style.borderRadius = "100%";            var point = 0;            var t = setInterval( function(){                box.style.borderRadius = `${point}%`;                if(point < 100){                    point++;                }else{                    clearInterval(t)                    console.log("结束了... ")                }            } , 50)        }                box5.onclick = function(){            // box.className = "box box_new";            box.className += " box_new";        }    </script></body></html>

2.3 js事件

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>js事件</title>    <style>        *{margin:0px;padding:0px;}        .box        {width:100px;height:100px;background: green;position: absolute;left:0px;}    </style></head><body>    <!-- 1.事件的静态绑定 -->    <button onclick="func1()">按钮1</button>    <div class="box"></div>    <script>        var box = document.getElementsByClassName("box")[0];        var t;        console.log(box);        function func1(){            var left = parseInt(window.getComputedStyle(box).left)            console.log(left ,typeof(left));            // console.log(box.style.left);            t = setInterval(function(){                left += 10;                box.style.left  = `${left}px`;            } , 50)        }                 // 2.事件的动态绑定         // onmouseover 鼠标指针悬停在指定元素上时触发        box.onmouseover = function(){            clearInterval(t);        }        // onmouseout  鼠标指针离开指定元素时触发        box.onmouseout = function(){            func1()        }    </script></body></html>

3. 模态框

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <title>模态框</title>    <style>        .box {            position:fixed;            width:100%;            height:100%;            top:0px;            background-color: greenyellow;            display: none;        }        .content        {                        border:solid 1px red;            width:500px;            height:500px;            background-color:tan;            margin:auto;            margin-top:14%;                }    </style></head><body>    <button id="login">登录</button>    <div class="box">        <div class="content" >            <span class="close">X</span>            <br />            <span>账号: <input type="text"  /></span>            <br / >            <span>密码: <input type="password"  /></span>        </div>    </div>    <script>        var btn = document.getElementById("login");        var box = document.querySelector(".box");        var close = document.querySelector(".close");        btn.onclick = function(){            console.log(11)            box.style.display = "block";        }        close.onclick = function(){            box.style.display = "none";        }    </script></body></html>

读到这里,这篇“Python的dom节点怎么获取”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯