JavaWeb系列十九: jQuery的DOM操作 上

查找节点, 修改属性

查找属性节点: 查找到所需要的元素之后, 可以调用jQuery对象的attr()方法用来 设置/返回 它的各种属性值

  • 设置属性值 $(“img”).attr(“width”, “300”);
  • 返回属性值 $(“img”).attr(“width”);

在这里插入图片描述

创建节点

  1. 创建节点: 使用jQuery的工厂函数$(): $(html标签); 会根据传入的html标记字符串创建一个jQuery对象并返回.
  2. 动态创建的新元素节点不会自动地添加到文档中, 而是需要使用其它方法将其插入到文档中
  3. 当创建单个元素时, 需要注意闭合标签和使用标准的XHTML格式. 例如创建一个<p>元素, 可以使用$(“<p/>”)或者$(“<p></p>”), 但不能使用$(“<p>”)或$(“</p>”)
  4. 创建文本节点就是在创建元素节点时直接把文本内容写出来; 创建属性节点也是在创建元素节点时一起创建

第1组方法(内部插入法)

  1. append(content): 向每个匹配的元素的内部的结尾处追加内容
    A.append(B) 解读: (1) A, B都是Jquery对象; (2) 表示把B对象插入到A对象内部的结尾处; (3) 结果是: B对象成为了A对象的子元素/子节点
  2. appendTo(content): 将每个匹配的元素追加到指定元素中的内部结尾处
    A.appendTo(B) 解读: (1) A, B都是Jquery对象; (2) 表示把A对象插入到B对象内部的结尾处; (3) 结果是: A对象成为了B对象的子元素/节点
  3. prepend(content): 向每个匹配的元素的内部的开始处插入内容
    A.prepend(B) 解读: (1) A, B都是Jquery对象; (2) 表示把B对象插入到A对象内部的开始处; (3) 结果是: B对象成为了A对象的子元素/节点
  4. prependTo(content): 将每个匹配的元素插入到指定元素中的内部开始处
    A.prependTo(B) 解读: (1) A, B都是Jquery对象; (2) 表示把A对象插入到B对象内部的开始处; (3) 结果是: A对象成为了B对象的子元素/节点

总结: 内部插入法是在元素内插入内容(该内容成为该元素的子元素或子节点)

第2组方法(外部插入法)

  1. after(content): 在每个匹配的元素之后插入内容
    A.after(B) 解读: A, B都是Jquery对象; (2) 把B对象插入到A对象的后面; (3) 结果是: B对象成为A对象的兄弟节点
  2. before(content): 在每个匹配的元素之前插入内容
    A.before(B) 解读: A, B都是Jquery对象; (2) 把B对象插入到A对象的前面; (3) 结果是: B对象成为A对象的兄弟节点
  3. insertAfter(content): 把所有匹配的元素插入到另一个指定的元素集合的后面
    A.insertAfter(B) 解读: (1) A, B都是Jquery对象; (2) 把A对象插入到B对象的后面; (3) 结果是: A对象成为B对象的后一个兄弟节点
  4. insertBefore(content): 把所有匹配的元素插入到另一个指定的元素集合的前面
    A.insertBefore(B) 解读: (1) A, B都是Jquery对象; (2) 把A对象插入到B对象的前面; (3) 结果是: A对象成为B对象的前一个兄弟节点

总结: 外部插入法是在元素的外面插入内容(其内容变为元素的兄弟节点)
注意: 以上方法不但能将新的DOM元素插入到文档中, 也能对原有的DOM元素进行移动

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>创建节点</title>
    <script type="text/javascript" src="../script/jquery-3.6.0.min.js"></script>
    <script type="text/javascript">
        $(function () {
            //添加重庆li到上海后面(用传统的dom方式)
            $("#btn1").click(function () {
                //1.创建重庆li元素
                var cq_li = document.createElement("li");
                //2.设置属性和内容
                cq_li.setAttribute("id", "cq");
                cq_li.setAttribute("name", "chongqing");
                cq_li.innerText = "重庆";
                //3.添加到指定元素的后面
                var sh_li = document.getElementById("sh");
                sh_li.append(cq_li);
            });

            //添加重庆li到上海后面(jquery完成节点添加)
            $("#btn2").click(function () {
                var $cq_li = $("<li id='cq' name='chongqing'>重庆</li>");
                //内部插入法, 相当于<li id="sh" name="shanghai">上海<li id='cq' name='chongqing'>重庆</li></li>
                $cq_li.appendTo($("#sh"));
                //外部插入法, 更合适
                $cq_li.insertAfter($("#sh"));
            });

            //添加济宁li到北京前(jquery完成节点添加)
            $("#btn3").click(function () {
                //创建济宁li
                var $jn_li = $("<li id='jn' name='jiNing'>济宁</li>");
                //添加到北京li前面, 此时不能使用内部插入法, 必须使用外部插入法, 不信看效果
                // $("#bj").prepend($jn_li);
                $jn_li.insertBefore($("#bj"));
            });

            //添加成都li到北京和上海之间(jquery完成节点添加)
            $("#btn4").click(function () {
                //创建成都li
                var $cd_li = $("<li id='cd' name='chengdu'>成都</li>");
                // $cd_li.insertAfter($("#bj"));
                $cd_li.insertBefore($("#sh"));
            })

            //添加成都li到吉林前面(jquery完成节点添加)
            $("#btn5").click(function () {
                //创建成都li
                var $cd_li = $("<li id='cd' name='chengdu'>成都</li>");
                $cd_li.insertBefore($("#jl"));
            })

        })
    </script>
</head>
<body>
<ul id="city">
    <li id="bj" name="beijing">北京</li>
    <li id="sh" name="shanghai">上海</li>
    <li id="jl" name="jilin">吉林</li>
    <li id="xj" name="xinjiang">新疆</li>
</ul>
<input type="button" id="btn1" value="添加重庆li到上海后面(用传统的dom方式)">
<input type="button" id="btn2" value="添加重庆li到上海后面(jquery完成节点添加)">
<input type="button" id="btn3" value="添加济宁li到北京前(jquery完成节点添加)">
<input type="button" id="btn4" value="添加成都li到北京和上海之间(jquery完成节点添加)">
<input type="button" id="btn5" value="添加成都li到吉林前面(jquery完成节点添加)">
</body>
</html>

移动节点

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>移动节点</title>
    <script type="text/javascript" src="../script/jquery-3.6.0.min.js"></script>
    <script type="text/javascript">
        $(function () {
            //使用aflter插入法, 把地下城li移动到穿越火线后面
            $("#btn1").click(function () {
                //(1)使用外部插入法, 把地下城li移动到穿越火线后面(推荐)
                $("#dnf").insertAfter($("#jl"));
                //(2)使用内部插入法, 把地下城li移动到穿越火线后面(不推荐)
                $("#dnf").appendTo($("#jl"));
            });
        })
    </script>
</head>
<body>
您喜欢的城市:
<ul id="city">
    <li id="bj" name="beijing">北京</li>
    <li id="sh" name="shanghai">上海</li>
    <li id="jl" name="jilin">吉林</li>
</ul>
您爱好的游戏:
<ul id="game">
    <li id="dnf" name="dnf">地下城</li>
    <li id="cf" name="cf">穿越火线</li>
</ul>
<input type="button" id="btn1" value="使用aflter插入法, 把地下城li移动到穿越火线后面">
</body>
</html>

删除节点

  1. remove(): 从DOM中删除所有匹配的元素, 传入的参数用于根据jQuery表达式来筛选元素. 当某个节点用remove()方法删除后, 该节点所包含的所有后代节点将被同时删除. 这个方法的返回值是一个指向已被删除的节点的引用
  2. empty(): 清空节点 - 清空元素中的所有后代节点(包括文本节点, 但不包含属性节点)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>删除节点</title>
    <script type="text/javascript" src="../script/jquery-3.6.0.min.js"></script>
    <script type="text/javascript">
        $(function () {
            //删除所有<p>元素
            $("#btn1").click(function () {
                $("p").remove();//这不是jquery方法
            });
            //所有p清空
            $("#btn2").click(function () {
                $("p").empty();
            });
            //删除上海这个li
            $("#btn3").click(function () {
                //这个是完全移除
                $("#sh").remove();
                //这个会保留<li id="sh" name="shanghai"></li>
                $("#sh").empty();
            })

        });
    </script>
</head>
<body>
您喜欢的城市:
<ul id="city">
    <li id="bj" name="beijing">北京</li>
    <li id="sh" name="shanghai">上海</li>
    <li id="jl" name="jilin">吉林</li>
</ul>
<p>你好 </p> 刀剑神域 <p>亚丝娜</p>
<p name="test">你好 <span>刀剑神域</span> <a>桐谷和人</a></p>
<input type="button" id="btn1" value="删除所有<p>元素">
<input type="button" id="btn2" value="所有p清空">
<input type="button" id="btn3" value="删除上海这个li">
</body>
</html>

复制节点

  1. clone(): 克隆匹配的DOM元素, 返回值为克隆后的副本, 但此时复制的新节点不具有任何行为, 也就是说它没有把事件复制过来
  2. clone(true): 复制元素的同时也复制元素中的事件
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>克隆节点</title>
    <script type="text/javascript" src="../script/jquery-3.6.0.min.js"></script>
    <script type="text/javascript">
        $(function () {
            //点击p, 弹出文本信息
            $("p").click(function () {
                //隐式的传入一个this->p的dom对象
                alert("段落的内容=" + $(this).text());
            })

            //克隆p, 插入到按钮后面
            //1.$("p").clone() 表示克隆p元素, 但没有复制事件
            $("p").clone().insertAfter($("button"));
            //2.$("p").cloine() 表示克隆p元素, 同时复制事件
            $("p").clone(true).insertAfter($("button"));

        });
    </script>
</head>
<body>
<button>保存</button>
///
<p>段落1</p>
<p>段落2</p>
<p>段落3</p>
<p>段落4</p>
<p>段落5</p>
</body>
</html>

替换节点

  1. replaceWith(): 将所有匹配的元素都替换为指定的HTML或DOM元素.
    A.replaceWith(B) 用B来替换A(这里的B可以是HTML元素或DOM元素)
  2. replaceAll(): 颠倒了的replaceWith()方法
    A.replaceAll(B) 用A去替换B(这里的A只能是DOM元素, B一般是DOM元素, 还未遇到是HTML元素的情况)

注意: 若在替换之前, 已经在元素上绑定了事件, 替换后原先绑定的事件会与原先的元素一起消失

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>替换节点</title>
    <script type="text/javascript" src="../script/jquery-3.6.0.min.js"></script>
    <script type="text/javascript">
        $(function () {
            //1.将p元素替换为button元素(HTML或DOM元素)
            // (1)
            $("p").replaceWith("<button>亚丝娜</button>");
            // (2)
            var $button = $("<button value='亚丝娜'>亚丝娜</button>");
            $button.click(function () {
                alert($(this).val());
            })
            $("p").replaceWith($button);
            // (3)
            $button.replaceAll($("p"));

            //2.将p元素替换为超链接
            // (1)
            $("p").replaceWith("<a href='http://www.baidu.com'>超链接</a>");
            // (2)
            var $a = $("<a href='http://www.baidu.com'>超链接</a>");
            $("p").replaceWith($a);
            // (3)
            $a.replaceAll($("p"));
        });
    </script>
</head>
<body>
<h1>节点替换</h1>
<p>你好</p>
<p>刀剑神域</p>
<p>亚丝娜</p>
</body>
</html>

属性操作

  1. attr(): 获取属性和设置属性
  2. attr() 传递一个参数时, 表示获取某个元素指定的属性
  3. attr() 传递两个参数时, 表示为某个元素设置指定属性的值
  4. jQuery中有很多方法都是一个函数实现获取和设置. 比如: attr(), html(), text(), val(), height(), width(), css()等.

示例: var $button = $(“<button><span>亚丝娜</span></button>”);
alert($button.text()): -> 亚丝娜
alert($button.html()): -> <span>亚丝娜</span>
$(this).text(“桐人”); -> button标签会变成 <button>桐人</button>
$(this).html(“桐人”); -> button标签会变成 <button><span>桐人</span></button>

  1. removeAttr(): 删除指定元素的属性

样式操作

  1. 获取class和设置class: class是元素的一个属性, 所以获取class和设置lass都可以使用attr()方法来完成
  2. 追加样式: addClass()
  3. 移除样式: removeClass() — 从匹配的元素中删除全部或指定的class
  4. 切换样式: toggleClass() — 控制样式上的重复切换. 如果类名存在则删除它, 如果类名不存在则添加它
  5. 判断是否具有某个样式: hasClass() — 判断元素中是否含有某个class. 如果有, 返回true; 如果没有,返回false
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>样式操作</title>
    <style>
        input {
            height: 40px;
            margin-top: 5px;
        }
        div {
            width: 200px;
            height: 200px;
            margin: 20px;
            float: left;
        }
        .one {
            background-color: pink;
        }
    </style>
    <script type="text/javascript" src="../script/jquery-3.6.0.min.js"></script>
    <script type="text/javascript">
        $(function () {
            //1.获取class和设置class都可以使用attr()方法来完成--给id为first的元素添加.one样式
            $("#btn01").click(function () {
                $("#first").attr("class", "one");
            })

            //2.追加样式: addClass()--给id为first的元素添加.one样式
            $("#btn02").click(function () {
                $("#first").addClass("one");
            })

            //3.移除样式: removeClass()--从匹配的元素中删除全部或指定的样式
            $("#btn03").click(function () {
                $("#first").removeClass("one");
            })

            //4.切换样式: toggleClass()--给id为first的元素切换.one样式(如果类名存在就删除, 如果类名不存在就添加)
            $("#btn04").click(function () {
                $("#first").toggleClass("one");
            })

            //5.判断是否含有某个样式: hasClass()--判断元素中是否含有某个class.如果有,返回true;如果没有,返回false
            $("#btn05").click(function () {
                alert($("#first").hasClass("one"));
            })
        });
    </script>
</head>
<body>
<input type="button" value="获取class和设置class都可以使用attr()方法来完成--给id为first的元素添加.one样式" id="btn01"/><br/>
<input type="button" value="追加样式: addClass()--给id为first的元素添加.one样式" id="btn02"/><br/>
<input type="button" value="移除样式: removeClass()--从匹配的元素中删除全部或指定的样式" id="btn03"/><br/>
<input type="button" value="切换样式: toggleClass()--给id为first的元素切换.one样式" id="btn04"/><br/>
<input type="button" value="判断是否含有某个样式: hasClass()--判断元素中是否含有某个class.如果有,返回true;如果没有,返回false" id="btn05"/><br/>
<div id="first">first</div>
<div id="second">second</div>
</body>
</html>

获取html 文本和值

  1. 设置或返回所选元素的内容(包括HTML标记): html()
  2. 读取或设置所选元素的文本内容: text(). 该方法既可以用于HTML也可以用于XML文档
  3. 读取或设置某个元素的值: val(). 该方法类似JavaScript中的value属性, 对于文本框input, 下拉框select, 单选框radio, 该方法可以返回元素的值

this.defaultValue: 表单元素的默认值属性(this是dom对象, 不是Jquery对象)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>val()练习</title>
    <script type="text/javascript" src="../script/jquery-3.6.0.min.js"></script>
    <script type="text/javascript">
        $(function () {
            //1.给btn01绑定一个获取焦点事件
            //  当用户把光标定位到输入框btn01时, 该事件就会被触发
            $("#btn01").focus(function () {
                //获取->判断
                //获取到当前值
                var currentVal = $(this).val();
                //如果当前值就是默认值, 就清空, 让用户输入自己的值
                if (currentVal == this.defaultValue) {
                    $(this).val('');
                }
            })
            //2.给btn01绑定一个失去焦点事件
            //  当用户的光标离开输入框, 就会触发该事件
            $("#btn01").blur(function () {
                //获取当前值
                var currentVal = $(this).val();
                //如果当前值为'',说明用户没有输入内容
                //就恢复显示默认信息
                if (currentVal == '') {
                    $(this).val(this.defaultValue);
                }
            })
        });
    </script>
</head>
<body>
<input type="text" value="用户邮箱/手机号/用户名" id="btn01"/><br/>
<input type="password" value="" id="btn02"/><br/>
<input type="button" value="登录" id="btn03"/>
</body>
</html>

🌳常用遍历节点方法

常用遍历节点方法

  1. 取得匹配元素的所有子元素组成的集合: children() . 该方法只考虑子元素而不考虑任何后代元素(隔代元素不考虑)
  2. $(selector).find(filter)方法返回被选元素的后代元素, 包括直接子元素
  3. 取得匹配元素后面的同辈元素的集合: next()(紧邻)/nextAll()(所有)
  4. 取得匹配元素前面的同辈元素的集合: prev()(紧邻)/prevAll()(所有)
  5. 取得匹配元素前后所有的同辈元素: siblings()
  6. 获取指定的第几个元素: nextAll().eq(index)
  7. 对获取到的同辈元素进行过滤 nextAll().filter(“标签”)
  8. 取得匹配元素的直接父元素: parent()
  9. 取得匹配元素的所有祖先元素: parents(“元素标签”)
    参考👉
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>遍历元素</title>
  <style>
    input[type=button] {
      height: 30px;
    }
  </style>
  <script type="text/javascript" src="script/jquery-3.6.0.min.js"></script>
  <script type="text/javascript">
    $(function () {
      //1.查找class为one的div元素的所有子元素
      $("#btn01").click(function () {
        $("div.one").children().each(function () {
          alert("子div的内容是= " + $(this).text());
        })
        //获取指定第几个子元素, eq(1), 表示获取第2个子元素(索引从0开始)
        alert($("div.one").children().filter("div").eq(1).text());
      })

      //2.查找class为one的div元素的class为five的后代元素
      $("#btn02").click(function () {
        alert($("div.one").find("div:eq(5)").text());
      })

      //3.获取后面的同辈div元素(class为one的div元素)
      $("#btn03").click(function () {
        $("div.one").nextAll().filter("div").each(function () {
          alert("后面同辈的div的内容是= " + $(this).text());
        })
        //获取指定第几个元素, eq(1), 表示获取第2个子元素(索引从0开始)
        alert($("div.one").nextAll().filter("div").eq(1).text());
        //如果我们希望获取后面紧邻的同辈元素
        alert("后面紧邻的同辈元素= " + $("div.one").next().text());
      });

      //4.获取前面的同辈div元素(class为one的div元素)
      $("#btn04").click(function () {
        $("div.one").prevAll().filter("div").each(function () {
          alert("前面同辈的div的内容是= " + $(this).text());
        })
        //规则: 越靠近$(this)元素,索引越小; 反之越远离, 索引越大
        //获取前一个紧邻的元素: eq(0), 表示获取第1个子元素(索引从0开始)
        alert($("div.one").prevAll().filter("div").eq(0).text());
        //如果我们希望获取前面紧邻的同辈元素
        alert("前面紧邻的同辈元素= " + $("div.one").prev().text());
      });

      //5.获取所有同辈的div元素(class为one的div元素)
      $("#btn05").click(function () {
        $("div.one").siblings().filter("div").each(function () {
          alert("所有同辈的div的内容是= " + $(this).text());
        });
        //获取第几个元素, eq(2), 表示获取第3个子元素(索引从0开始)
        alert($("div.one").siblings().filter("div").eq(2).text());
      })

      //6.获取父元素及祖先元素(class为five的div元素)
      $("#btn06").click(function () {
        //(1)获取父元素: 匹配元素集合中每个元素的直接父元素
        var $div = $("div.five").parent();//返回的是一个对象
        alert($div.html());
        //获取父元素的父元素, 返回的是一个对象
        var parent = $("div.five").parent().parent();//获取到了class="one"的祖先元素
        alert(parent.attr("class"));

        //(2)获取祖先元素: 返回的是一个数组, 当前匹配元素的所有祖先元素, 包括父元素
        var parents = $("div.five").parents("div");
        parents.each(function () {//获取到了id=five, class=one的元素
          alert($(this).html());
        })
      })
    })
  </script>
</head>
<body>
<input type="button" value="查找class为one的div元素的所有子元素" id="btn01"/><br/>
<input type="button" value="查找class为one的div元素的class为five的后代元素" id="btn02"/><br/>
<input type="button" value="获取后面的同辈div元素(class为one的div元素)" id="btn03"/><br/>
<input type="button" value="获取前面的同辈div元素(class为one的div元素)" id="btn04"/><br/>
<input type="button" value="获取所有的同辈div元素(class为one的div元素)" id="btn05"/><br/>
<input type="button" value="获取父元素及祖先元素(class为five的div元素)" id="btn06"/><br/>
<hr/>
<div>aaaaaaaaaaaa</div>
<div class="one">
  <div id="one">
    xxxxxxxx one
  </div>
  <div id="two">
    xxxxxxxx two
  </div>
  <div id="three">
    xxxxxxxx three
  </div>
  <div id="four">
    xxxxxxxx four
  </div>
  <div id="five">
    xxxxxxxx five_01
    <div class="five">
      xxxxxxxx five_02
    </div>
  </div>
</div>
<div>bbbbbbbbbbbb</div>
<div>cccccccccccc</div>
<div>dddddddddddd</div>
</body>
</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/743125.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CNN-O-ELMNet: 优化的轻量化通用模型,用于肺部疾病分类和严重性评估| 文献速递-先进深度学习疾病诊断

Title 题目 CNN-O-ELMNet: Optimized Lightweight andGeneralized Model for Lung DiseaseClassification and Severity Assessment CNN-O-ELMNet: 优化的轻量化通用模型&#xff0c;用于肺部疾病分类和严重性评估 01 文献速递介绍 肺部疾病是全球主要的致残和死亡原因。根…

七天速通javaSE:第一天 入门:Hello,Word与程序运行机制

文章目录 前言一、Hello&#xff0c;Word&#xff01;1.新建一个文件夹存放代码2.新建一个.java文件3.编写代码 二、编译与运行1.在控制台编译java文件2.运行class文件 三、java程序运行机制1.高级语言的分类1.1 编译型语言1.2 解释型语言 2.程序运行机制 四、IDEA五、代码规范…

uni-app的showModal提示框,进行删除的二次确认,可自定义确定或取消操作

实现效果&#xff1a; 此处为删除的二次确认示例&#xff0c;点击删除按钮时出现该提示&#xff0c;该提示写在js script中。 实现方式&#xff1a; 通过uni.showModal进行提示&#xff0c;success为确认状态下的操作自定义&#xff0c;此处调用后端接口进行了删除操作&#…

APP软件系统的开发流程

APP软件系统的开发是一个复杂的过程&#xff0c;需要多方面的知识和技能。建议选择专业的开发团队进行开发&#xff0c;以确保APP的质量和成功。APP软件系统的开发流程通常包括以下几个阶段。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合…

指针(一)

指针基础 在C中&#xff0c;指针是至关重要的组成部分。它是C语言最强大的功能之一&#xff0c;也是最棘手的功能之一。 指针具有强大的能力&#xff0c;其本质是协助程序员完成内存的直接操纵。 指针&#xff1a;特定类型数据在内存中的存储地址&#xff0c;即内存地址。 …

会声会影2024永久激活码序列号注册机分享

大家好呀&#xff0c;今天我想给大家安利一款我最近超级喜欢的软件——会声会影2024&#xff01;&#x1f31f; 作为一个视频编辑爱好者&#xff0c;我尝试过很多视频编辑软件&#xff0c;但总感觉少了那么一点点“火花”。直到我遇到了会声会影2024&#xff0c;它完全改变了我…

如何解决远距离传输大文件慢的问题?

在数字化时代&#xff0c;无论是企业还是个人&#xff0c;经常需要处理跨越长距离的大规模文件传输任务。这种传输的效率和安全性对业务流程的顺畅至关重要。然而&#xff0c;我们经常遇到网络延迟、数据丢失、带宽限制等问题&#xff0c;这些都可能影响文件传输的效率。小编将…

Linux环境下安装MySQL5.7.20(源码安装)

&#x1f4e3;&#x1f4e3;&#x1f4e3; 哈喽&#xff01;大家好&#xff0c;本专栏主要发表mysql实战的文章&#xff0c;文章主要包括&#xff1a; 各版本数据库的安装、备份和恢复,性能优化等内容的学习。。 &#x1f4e3; ***如果需要观看配套视频的小伙伴们&#xff0c;请…

vue+three.js渲染3D模型

安装three.js: npm install three 页面部分代码&#xff1a; <div style"width: 100%; height: 300px; position: relative;"><div style"height: 200px; background-color: white; width: 100%; position: absolute; top: 0;"><div id&…

大学网页制作作品1

作品须知&#xff1a;1.该网页作品预计分为5个页面&#xff08;其中1个登录页面&#xff0c;1个首页主页面&#xff0c;3个分页面&#xff09;&#xff0c;如需要可自行删改增加页面。&#xff08;总共约800行html,1200行css,100行js&#xff09; 2.此网页源代码只用于学习和模…

宣告 adsb.exposed - 基于 ClickHouse 的 ADS-B 航班数据交互式可视化和分析

本文字数&#xff1a;10340&#xff1b;估计阅读时间&#xff1a;26 分钟 审校&#xff1a;庄晓东&#xff08;魏庄&#xff09; 本文在公众号【ClickHouseInc】首发 Meetup活动 ClickHouse 上海首届 Meetup 讲师招募中&#xff0c;欢迎讲师在文末扫码报名&#xff01; 也许你已…

秒空!西圣Mike无线麦克风新晋断货王!引爆抢购潮,618全平台售罄

在数字音频技术飞速发展的今天&#xff0c;一款能够满足专业需求同时兼具高性价比的无线麦克风无疑是市场上的稀缺品。自西圣Mike无线麦克风上市以来&#xff0c;凭借其卓越的机皇性能和百元的亲民价格&#xff0c;迅速在消费者中引起轰动&#xff0c;连月斩获99%高好评&#x…

让我们聊聊网络安全中会涉及到的IP地址(IP协议)、MAC地址、路由、DNS协议(域名系统)、NAT技术(协议)、以太网帧、ARP协议

网络安全中会涉及到的IP地址&#xff08;IP协议&#xff09;、MAC地址、路由、DNS协议&#xff08;域名系统&#xff09;、NAT技术&#xff08;协议&#xff09;、以太网帧、ARP协议 一.IP地址&#xff08;IP协议&#xff09;1.IP地址&#xff08;IP协议&#xff09;的作用2.IP…

使用多用户增强服务器的安全性

Fedora CoreOS 操作系统 (简称 fcos) 的主要设计目标, 是大规模服务器集群 (几十台甚至数百台). 对于窝等穷人这种只有一台主机 (或者两三台) 的情况, 还是需要稍稍改造 (配置) 一下, 才能比较舒服的使用. 比如, 默认 SSH 登录使用 core 用户, 这个用户可以无需密码使用 sudo …

python根据excel的文件创建文件夹

这几天要整理一点文档&#xff0c;需要批量生成一些文件夹&#xff0c;&#xff08;其实也可以进一步自动生成各种文档&#xff09;&#xff0c;用到了py的功能&#xff0c;在此记录一下。 1.准备工作 需要两个库支持openpyxl和os 安装 pip install openpyxl2.代码思路 打算…

初识Java(二)

初识Java的main方法 1.1 main方法示例 public class world {public static void main(String[] args) {System.out.println("hello,world!");}}通过上述代码&#xff0c;我们可以看到一个完整的Java程序的结构&#xff0c;Java程序的结构由如下三个部分组成&#x…

攻击者开始使用 XLL 文件进行攻击

近期&#xff0c;研究人员发现使用恶意 Microsoft Excel 加载项&#xff08;XLL&#xff09;文件发起攻击的行动有所增加&#xff0c;这项技术的 MITRE ATT&CK 技术项编号为 T1137.006。 这些加载项都是为了使用户能够利用高性能函数&#xff0c;为 Excel 工作表提供 API …

VC++开发积累——vc++6.0中删除函数的方法,右键,Delete

目录 引出插曲&#xff1a;删除函数的方法多行注释的实现代码输入的自动提示搜索出来&#xff0c;标记和取消标记跳转到上一步的位置 ctrl TAB 总结其他规范和帮助文档创建第一个Qt程序对象树概念信号signal槽slot自定义信号和槽1.自定义信号2.自定义槽3.建立连接4.进行触发 自…

数据处理技术影响皮质-皮质间诱发电位的量化

摘要 皮质-皮质间诱发电位(CCEPs)是探究颅内人体电生理学中有效连接性的常用工具。与所有人体电生理学数据一样&#xff0c;CCEP数据极易受到噪声的影响。为了解决噪声问题&#xff0c;通常会对CCEP数据进行滤波和重参考&#xff0c;但不同的研究会采用不同的处理策略。本研究…

Linux操作系统进程同步的几种方式及基本原理

1&#xff0c;进程同步的几种方式 1.1信号量 用于进程间传递信号的一个整数值。在信号量上只有三种操作可以进行&#xff1a;初始化&#xff0c;P操作和V操作&#xff0c;这三种操作都是原子操作。 P操作(递减操作)可以用于阻塞一个进程&#xff0c;V操作(增加操作)可以用于…