首页 > 编程语言 >python网站创建012:DOM、BOM、jQuery的使用

python网站创建012:DOM、BOM、jQuery的使用

时间:2023-12-19 23:44:06浏览次数:33  
标签:jQuery 菜单 group 父级 python 标签 DOM tag

DOM:标签操作模块。这个模块里面的方法专门用来操作HTML的标签的。比如说获取HTML标签的文本、或者给HTML标签加上样式

<body>
    <!--1、比如这里定义了一个div,然后你想获取div里面文本,该如何操作-->
    <div id="txt">你好</div>


    <script>
        // 定义一个自执行函数
        (function (){
            // 首先得找到我们想要的div标签,div有id,我们可以通过id来获取。也可以通过其它方式来获取我们想要的标签,比如class、name都可以,这里不展示了
            var tag_txt = document.getElementById('txt');
            // 拿到div标签对象后,可以通过.innerText来获取标签文本
            var txt = tag_txt.innerText;
            // 打印获取到的值
            console.log(txt);
        })()

    </script>
</body>

 

BOM:浏览器操作模块。里面方法专门用来操作浏览器的,比如说让浏览器显示一个“确认框”的效果

<body>
    <script>
        // 定义一个确认框, 然后用res来保存确认结果
        var res = confirm("是否删除?");
        console.log(res)
    </script>
</body>

 

jQuery:这个相当于DOM和BOM的升级版, 使用jQuery可以用更简洁的代码完成DOM和BOM的功能, 建议后续使用jQuery来做前端开发

1、比如说要实现一个菜单的展开和隐藏的功能,首先用DOM看怎么实现?

<body>
    <!--首先定义一个菜单模块-->
    <div class="group">
        <!--然后定义一个(父级菜单)-->
        <div class="father_menu">父级菜单</div>
        <!--然后定义模块,这个模块下定义两个(子菜单)-->
        <div class="son_menu">
            <a>子菜单1</a>
            <a>子菜单2</a>
        </div>
    </div>
</body>

效果:

2、然后在给这些菜单加上一点样式

<!DOCTYPE html>
<html>
<head>
    <title>初识:JavaScript</title>
    <meta charset="UTF-8">

    <style>
        .group{
            /*宽度*/
            width: 300px;
            /*边框的边距和颜色*/
            border: 1px solid #ddd;
        }
        .group .father_menu{
            /*背景颜色*/
            background-color: gold;
            /*内边距*/
            padding: 8px 5px;
        }
        .group .son_menu a{
            /*将(子菜单)变成块级标签,让它各占一行*/
            display: block;
        }
    </style>
</head>

<body>
    <!--首先定义一个菜单模块-->
    <div class="group">
        <!--然后定义一个(父级菜单)-->
        <div class="father_menu">父级菜单</div>
        <!--然后定义模块,这个模块下定义两个(子菜单)-->
        <div class="son_menu">
            <a>子菜单1</a>
            <a>子菜单2</a>
        </div>
    </div>
</body>
</html>

效果:

 

3. 然后给a标签加上可点击的属性

 效果:

 

4、 然后我希望点击(父级菜单)就隐藏(子菜单),再次点击(父级菜单)就展示(子菜单)

首先得给(父级菜单)这个标签绑定事件:onclick="clickMe()"

然后定义一个函数,意思是一点击(父级菜单)就执行这个函数

 当点击(父级菜单)的时候, 就寻找(父级菜单)下面的(子菜单), 那得先拿到(父级菜单)的路径才行,怎么获取呢?可以在onclick="clickMe()"  里面加上一个this

如何隐藏菜单呢?

 接下就可以写函数了,逻辑步骤为:1.找到(父级菜单)标签;2.根据(父级菜单)找到(子菜单);3.给(子菜单)加上样式hied

<!DOCTYPE html>
<html>
<head>
    <title>初识:JavaScript</title>
    <meta charset="UTF-8">

    <style>
        .group{
            /*宽度*/
            width: 300px;
            /*边框的边距和颜色*/
            border: 1px solid #ddd;
        }
        .group .father_menu{
            /*背景颜色*/
            background-color: gold;
            /*内边距*/
            padding: 8px 5px;
        }
        .group .son_menu a{
            /*将(子菜单)变成块级标签,让它各占一行*/
            display: block;
        }
        .hied{
            /*给(子菜单)加上这个样式, 标签就隐藏,去掉就显示*/
            display: none;
        }
    </style>
</head>

<body>
    <!--首先定义一个菜单模块-->
    <div class="group">
        <!--然后定义一个(父级菜单)-->
        <div class="father_menu" onclick="clickMe(this);">父级菜单</div>
        <!--然后定义模块,这个模块下定义两个(子菜单)-->
        <div class="son_menu">
            <a href="https://www.baidu.com">子菜单1</a>
            <a href="https://www.baidu.com">子菜单2</a>
        </div>
    </div>

    <script>
        function clickMe(ths){
        //获取到(父级菜单)
            var tag = ths.nextElementSibling;
            console.log(tag.className)
        //     tag.className获取(父级菜单)的类名,因为点击(父级菜单)时, 类名会发生变化,可以通过F12查看
            if (tag.className == "son_menu"){
                // classList意思操作样式,add添加
                tag.classList.add("hied")
            } else {
                // classList意思操作样式,remove删除
                tag.classList.remove("hied")
            }
        }
    </script>
</body>
</html>

效果:

 

 

标签:jQuery,菜单,group,父级,python,标签,DOM,tag
From: https://www.cnblogs.com/FBGG/p/17912638.html

相关文章

  • Prometheus Python client library.
    PrometheusPythonclientlibrary.http://prometheus.github.io/client_python/ Examplehttps://pbrissaud.github.io/suivi-bourse/用户场景没有价值,此项目以全栈的视角实现了自定义exporter的实现,可以直接参考。watchesyourstockshareonPrometheus/Grafana ......
  • Python 使用getopt解析命令行参数
    ​ 1、getopt模块此模块可协助脚本解析sys.argv中的命令行参数。它支持与Unixgetopt()函数相同的惯例(包括形式如'-'与'--'的参数的特殊含义)。也能通过可选的第三个参数来使用与GNU软件所支持形式相类似的长选项。1)getopt.getopt(args,shortopts,longopts=[])......
  • Python 调用 FFmpeg 处理合并视频文件
    ​ FFmpeg是一个开源的多媒体框架,它包含了用于处理音频、视频、字幕等多媒体数据的一系列工具、库和软件包。FFmpeg可以执行多种多媒体处理任务,包括转码、剪辑、合并、分离、编解码、流媒体传输等。它被广泛用于多媒体应用程序和流媒体平台中,是一个功能强大且高度可定制的工......
  • Python中强大的动态类型特性,以方法调用为例
    在研究大佬的项目时,从一行行代码溯源,拨茧抽丝的过程中,发现了方法调用的“神奇之处”具体情况如下:1.在类Trainer中名为run等方法中有加载预训练好的模型的load方法2.load()方法依旧是类方法中的一个,在load方法中有具体的load_self()方法3. load_self()定义在另一个py文件mod......
  • python - 批量压缩word图片
    主要分为3个步骤,提取图片,压缩图片,替换图片,需要用到python-docx和pillow1.提取图片importdocxdocName="test.docx"imageIndex=0document=docx.Document(docName)forrelindocument.part.rels.values():if"image"inrel.reltypeandhasattr(rel,"ta......
  • 决策树算法思想及其Python实现
    决策树算法是一种在机器学习和数据挖掘领域广泛应用的强大工具,它模拟人类决策过程,通过对数据集进行逐步的分析和判定,最终生成一颗树状结构,每个节点代表一个决策或一个特征。决策树的核心思想是通过一系列问题将数据集划分成不同的类别或值,从而实现对未知数据的预测和分类。这一算......
  • Python的Requests库与网页爬取
    requests库的几种方法 其他几个方法内部实际都调用了requests.request()方法 Response对象的属性 首先要使用r.status_code判断连接是否成功。 Request库的异常  爬取网页的通用代码  需要处理异常,使爬取网页变得更有效、可靠、稳定。  HTTP  无......
  • random模块
    random模块(一)导入模块importrandom(二)随机小数默认区间的小数random.random()默认为0-1直接指定区间的小数random.uniform()可以指定起始结束参数(1)默认区间的小数random.random#随机生成默认区间内的小数print(random.random())#0.6827460153816446(2)指定区间的......
  • python中赋值语句教程
    1.赋值语句的特点赋值语句创建对象的引用:赋值语句总是创建对象的引用,而不是复制对象。因此,Python中的变量更像是指针,而不是数据储存区域。变量在首次赋值时会被创建:因此不需要提前声明变量。变量在引用前必须先赋值:如果引用未赋值的变量会报错2.赋值语句的形式(1.普通形......
  • python进行二进制数据处理的方法
    方法一:使用struct模块,特点轻量化,简单易用。缺点就是可读性不是太好,使用小数据临时使用一下,对于大量的数据解析,写起来比较繁琐,显得有点力不从心。importstructdata=b'\x92\xaa\xbb\xcc\x11\x22\x33\x44'a,b,c,d,e=struct.unpack(">BBBBI",data)print("a=0x%xb=0x%xc=......