当前位置: 首页 > news >正文

day6JS-DOM(文档对象模型)

DOM树

DOM 操作

1. 获取元素

1.1 根据id名获取元素

document.getElementById("id名");

案例:

<body><div id="box">div盒子</div><h1>一级标题</h1><script>console.log(document.getElementById("box"))</script>
</body>

1.2 根据标签名获取

 // 返回一个集合 (类数组对象)从整个文档获取
document.getElementsByTagName("标签名")  // 从element的后代元素中获取
element.getElementsByTagName("标签名")    

案例:

<body><div id="box">div盒子</div><h1>一级标题</h1><p>段落1</p><p>段落2</p><p>段落3</p><script>//获取到文档中所有的p标签,返回的是一个集合console.log(document.getElementsByTagName("p"))</script>
</body>

1.3 根据类名获取(不兼容ie6~8)

 // 返回一个集合(类数组对象)  从整个文档获取
document.getElementsByClassName("class名")  // 从element的后代中获取
element.getElementsByClassName("class名")   

案例:

<body><div class="box">div盒子</div><h1>一级标题</h1><p>段落1</p><p>段落2</p><p>段落3</p><script>console.log(document.getElementsByClassName("box"))</script>
</body>

1.4 根据 name 属性值获取(适用于表单标签)

        正常的规范中,咱们只会给表单元素起name值,如果给其它元素设置name,在ie9以下版本浏览器不兼容,是获取不到的,所以为了这种情况,咱们以后养成习惯,只给表单元素用name非表单元素不用name

 //返回集合,只有document才有该方法
document.getElementsByName("name属性的值") 

案例: 

<body>用户名:<input type="text" name="usename" value="">用户名:<input type="password" name="pwd" value=""><script>console.log(document.getElementsByName("usename"))</script>
</body>

1.5 根据css选择器获取(重点记忆)

注意:querySelector() querySelectorAll() 在ie6-ie8 下不兼容。

 //选择器第一个满足选择器条件的
document.querySelector(选择器)
//选择所有满足选择器条件的,返回nodeList(类数组对象)  
document.querySelectorAll(选择器) element.querySelector(选择器)
element.querySelectorAll(选择器)

案例:

<body><div id="divbox"><p class="pbox">段落1</p><p>段落2</p>用户名:<input type="text" name="usename" value=""></div><script>//querySelector只能获取第一个符合条件的元素console.log(document.querySelector("#divbox"))console.log(document.querySelector(".pbox"))console.log(document.querySelector("#divbox p"))// querySelectorAll获取所有符合条件的元素,返回的是集合console.log(document.querySelectorAll("#divbox"))console.log(document.querySelectorAll(".pbox"))console.log(document.querySelectorAll("#divbox p"))console.log(document.querySelectorAll("input"))</script>
</body>

注意!!!

根据css选择器获取时,是什么选择器就要带上该选择器的语法符号

例如:id选择器  ---- #选择器名; 类选择器 ---- .选择器名

1.6 获取Head元素对象

document.head 

案例:

<body><script>console.log(document.head);</script>
</body>

1.7 获取body元素对象

document.body

案例: 

<body><script>console.log(document.body);</script>
</body>

1.8 获取html元素对象

document.documentElement

案例:

<body><script>console.log(document.documentElement);</script>
</body>

1.9 获取一屏幕的宽度或者高度

// 获取一屏幕的高度
let vH = document.documentElement.clientHeight || document.body.clientHeight;// 获取一屏幕的宽度
let vW = document.documentElement.clientWidth || document.body.clientWidth;

1.10 id小妙招

 直接把id当成变量去用的时候,可以获取相应的id元素。(浏览器的机制)。

<div id="box1">111</div>
<script>console.log(box1)
</script>

2. 节点

2.1 常用的节点5个

  • 文档节点
  • 属性节点
  • 元素(标签)节点
  • 文本节点
  • 注释节点

2.2 文档节点

  • nodeType(节点类型):9(类型值9就是文档节点)
  • nodeName(节点名称):" #document "
  • nodeValue(节点值): null

案例:

<body><script>console.log(document.nodeType);//9console.log(document.nodeName);//#documentconsole.log(document.nodeValue);//null</script>
</body>

2.3 元素节点(重点记忆)

  • nodeType(节点类型):1(类型值1就是元素节点)
  • nodeName(节点名称):大写的标签名
  • nodeValue(节点值): null

案例:

<body><div id="box">111</div><div class="one">222</div><h1>大标题</h1><script>// 1.根据id属性先获取元素let divBox = document.getElementById("box");console.log(divBox.nodeType);//1console.log(divBox.nodeName);//DIVconsole.log(divBox.nodeValue);//nulllet divBox2 = document.querySelector("h1");console.log(divBox2.nodeType);//1console.log(divBox2.nodeName);//H1console.log(divBox2.nodeValue);//null</script>
</body>

2.4 属性节点

  • nodeType(节点类型):2(类型值2就是属性节点)
  • nodeName(节点名称):属性名
  • nodeValue(节点值): 属性值

getAttributeNode("属性名") 方法从当前元素中通过属性名称获取属性节点

案例:

<body><div id="box" class="one" name="xiaoxiao">111</div><script>// 1.先获取属性var myclass1 = box.getAttributeNode("class");// 2.在控制台输出console.log(myclass1);//class="one"console.log(myclass1.nodeType);//2console.log(myclass1.nodeName);//classconsole.log(myclass1.nodeValue);//one// 1.先获取属性var myclass2 = box.getAttributeNode("name");// 2.在控制台输出console.log(myclass2);//name="xiaoxiao"console.log(myclass2.nodeType);//2console.log(myclass2.nodeName);//nameconsole.log(myclass2.nodeValue);//xiaoxiao</script>
</body>

2.5 文本节点

  • nodeType(节点类型):3(类型值3就是文本节点)
  • nodeName(节点名称):" # text "
  • nodeValue(节点值): 文本内容
  • 在标准浏览器中,换行和空格也属于文本节点

使用childNodes方法获得文本内容。

案例:

<body><div id="box">111</div><div class="one">222</div><h1>大标题</h1><script>// 1.根据id属性先获取元素let h1Box = document.querySelector("h1");let textBox = h1Box.childNodes[0];console.log(textBox);//"大标题"console.log(textBox.nodeType);//3console.log(textBox.nodeName);//#textconsole.log(textBox.nodeValue);//大标题</script>
</body>

2.6 注释节点

  • nodeType(节点类型):8(类型值8就是注释节点)
  • nodeName(节点名称):" #comment "
  • nodeValue(节点值): 注释的内容
<body><!--这是一个div --><div id="box">111</div><script>let commentBox = document.body.childNodes[1];console.log(commentBox);//<!--这是一个div -->console.log(commentBox.nodeType);//8console.log(commentBox.nodeName);//#commentconsole.log(commentBox.nodeValue);//这是一个div</script>
</body>

3. 节点之间关系的属性

3.1 节点类

parentNode :父节点。

childNodes :所有子节点的集合。

firstChild :第一个子节点。

lastChild :最后一个子节点。

previousSibling :上一个兄弟节点。

nextSibling :下一个兄弟节点。

3.2 元素类

children :所有子元素的集合。

firstElementChild :第一个子元素 IE9+。

lastElementChild :最后一个子元素 IE9+。

previousElementSibling :上一个兄弟元素 IE9+。

nextElementSibling :下一个兄弟元素 IE9+。

4. 节点查找方式

4.1 parentNode(父节点)

获取当前节点唯一的父亲节点

<body><div id="box">111</div><script>console.log(box.parentNode);</script>
</body>

4.2 childNodes(子节点)

获取当前节点所有的子节点。

<body><div id="box">111</div><ul id="ulBox"><li>查找子节点1</li><li>查找子节点2</li><li>查找子节点3</li></ul><script>console.log(ulBox.childNodes);//NodeList(7)</script>
</body>

注意!!!

在js中换行和空格也算是text文本内容

4.3 firstChild

获取当前节点的第一个子节点

<body><div id="box">111</div><ul id="ulBox"><li>查找子节点1</li><li>查找子节点2</li><li>查找子节点3</li></ul><script>console.log(ulBox.firstChild);//#text</script>
</body>

4.4 lastChild

获取被选节点的最后一个子节点

<body><div id="box">111</div><ul id="ulBox"><li>查找子节点1</li><li>查找子节点2</li><li>查找子节点3</li></ul><script>console.log(ulBox.lastChild);//#text</script>
</body>

4.5 previousSibling

获取当前节点的上一个兄弟节点

<body><div id="box">111</div><ul id="ulBox"><li>查找子节点1</li><li>查找子节点2</li><li>查找子节点3</li></ul><h1>标题</h1><script>console.log(ulBox.previousSibling);//#text</script>
</body>

4.6 nextSibling

获取当前节点的下一个兄弟节点

<body><div id="box">111</div><ul id="ulBox"><li>查找子节点1</li><li>查找子节点2</li><li>查找子节点3</li></ul><h1>标题</h1><script>console.log(ulBox.nextSibling);//#text</script>
</body>

5. 元素查找方式

5.1 children

获取当前元素所有的元素子节点

<body><div id="box">111</div><ul id="ulBox"><li>查找子节点1</li><li>查找子节点2</li><li>查找子节点3</li></ul><h1>标题</h1><script>console.log(ulBox.children);//[li,li,li]</script>
</body>

5.2 firstElementChild

获取当前节点的第一个元素子节点

<body><div id="box">111</div><ul id="ulBox"><li>查找子节点1</li><li>查找子节点2</li><li>查找子节点3</li></ul><h1>标题</h1><script>console.log(ulBox.firstElementChild);//<li>查找子节点1</li></script>
</body>

5.3 lastElementChild

获取当前节点的最后一个元素子节点

<body><div id="box">111</div><ul id="ulBox"><li>查找子节点1</li><li>查找子节点2</li><li>查找子节点3</li></ul><h1>标题</h1><script>console.log(ulBox.lastElementChild);//<li>查找子节点3</li></script>
</body>

5.4 previousElementSibling

获取当前节点的上一个兄弟元素节点

<body><div id="box">111</div><ul id="ulBox"><li>查找子节点1</li><li>查找子节点2</li><li>查找子节点3</li></ul><h1>标题</h1><script>console.log(ulBox.previousElementSibling);//<div id="box">111</div></script>
</body>

5.5 nextElementSibling

获取当前节点的下一个兄弟元素节点

<body><div id="box">111</div><ul id="ulBox"><li>查找子节点1</li><li>查找子节点2</li><li>查找子节点3</li></ul><h1>标题</h1><script>console.log(ulBox.nextElementSibling);//<h1>标题</h1></script>
</body>

6.练习题

使用previousSibling编写出previousElementSibling的效果。

<body><div id="box">111</div><ul id="ulBox"><li>查找子节点1</li><li>查找子节点2</li><li>查找子节点3</li></ul><h1>标题</h1><script>function getPreviousSibling(itme) {let getPrevious = itme.previousSibling;while (getPrevious && getPrevious.nodeType !== 1) {getPrevious = getPrevious.previousSibling;}return getPrevious;}let ulBox = document.querySelector("#ulBox");let result = getPreviousSibling(ulBox);console.log(result);</script>
</body>

DOM 的增删改

1. createElement:创建一个元素

document.createElement("标签名");

案例:

<body><script>// 1.创建标签let div = document.createElement("div");// 2.给标签添加内容div.innerHTML = "这是一个div标签";// 3.把标签写入页面document.body.appendChild(div);</script>
</body>

2. createTextNode: 创建一个文本节点

var/let 变量名 = document.createTextNode("文本内容");

案例:

<body><script>// 1.创建标签let div = document.createElement("div");// 2.给标签添加内容let divText = document.createTextNode("这是一个div标签");div.appendChild(divText);// 3.把标签写入页面document.body.appendChild(div);</script>
</body>

3. appendChild: 把元素追加到一个容器的末尾

语法:父元素.appendChild(子元素);

<body><script>// 1.创建标签let div = document.createElement("div");// 2.给标签添加内容let divText = document.createTextNode("这是一个div标签");div.appendChild(divText);// 3.把标签写入页面document.body.appendChild(div);</script>
</body>

4. insertBefore: 把一个元素插入到另一个元素的前面

步骤一:创建一个标签(元素)。

步骤二:给标签(元素)添加内容。

步骤三:获取到指定一个父节点。然后父节点使用insertBefore插入。

语法:
var/let 变量名 = 父节点.insertBefore(新的子元素, 旧的子元素)

案例:

<body><ul><li>1</li><li id="two">2</li></ul><script>// 1.创建标签let li = document.createElement("li");// 2.给标签添加内容li.innerHTML = "3";// 3.获取到要加入的父元素let ulParent = document.querySelector("ul");// 4. 将新元素插入到旧的元素之前ulParent.insertBefore(li, two);</script>
</body>

使用该方法还可以交换标签的位置。

<body><ul><li id="one">1</li><li id="two">2</li></ul><script>// 1.获取到要加入的父元素let ulParent = document.querySelector("ul");// 1. 交换位置ulParent.insertBefore(two, one);</script>
</body>

5. cloneNode: 把某一个节点进行克隆

  • cloneNode()浅克隆: 只是克隆了一个节点,里面的内容还有样式都没克隆
  • cloneNode(true)深克隆:把节点包含的所有内容和样式进行克隆
<body><ul><li id="one" style="color: red">111</li><li id="two">222</li></ul><script>// 1.获取到要克隆的元素let ulParent = document.querySelector("ul");// 2. 无参,只克隆了一个节点,不克隆样式let con1 = ulParent.cloneNode();document.body.appendChild(con1);//页面不显示内容// 3. 有参,既有内容,又有样式let con2 = ulParent.cloneNode(true);document.body.appendChild(con2);</script>
</body>

6. removeChild:移除某个节点

【context】.removeChild(ele);

<body><ul><li id="one" style="color: red">111</li><li id="two">222</li></ul><script>// 1.获取到要克隆的元素let ulParent = document.querySelector("ul");ulParent.removeChild(one);console.log(ulParent);</script>
</body>

7. set/get/removeAttribute()

  • setAttribute():设置当前元素的某一个自定义属性。
  • getAttribute():获取当前元素的某一个自定义属性。
  • removeAttribute():删除当前元素的某一个自定义属性。
box.setAttribute("index", 1);
box.getAttribute("index");
box.removeAttribute("index");
console.log(box)
// 设置
// box["aa"] = 22;
// 获取
// box["aa"]
//移除
// delete box["aa"];

        基于键值对方式增删改:修改当前对象的堆内存空间完成的(在堆内存空间可以看到)

        基于Attribute dom方法增删改,是修改html结构来完成的(此种方法设置的在结构上可以看到)。

以上两种方式不能混用

8. 练习题

利用a标签的href来重新获取url参数。

前置知识:a标签的两个方法:

<a href="http://www.zhufengpeixun.cn?name=lili&age=18#123"></a>

a.search :截取网址?(包括?)之后的内容。例如:?name=lili&age=18

a.hash:截取网址#(包括#)之后的内容。例如:#123

<body><a href="http://www.zhufengpeixun.cn?name=lili&age=18#123"></a><script>function getUrl() {let a = document.querySelector("a");let obj = {};obj.hash = a.hash.slice(1);let searchStr = a.search.slice(1).split("&");for (let i = 0; i < searchStr.length; i++) {let arr = searchStr[i].split("=");obj[arr[0]] = arr[1];}return obj;}console.log(getUrl());</script>
</body>

相关文章:

day6JS-DOM(文档对象模型)

DOM树 DOM 操作 1. 获取元素 1.1 根据id名获取元素 document.getElementById("id名"); 案例&#xff1a; <body><div id"box">div盒子</div><h1>一级标题</h1><script>console.log(document.getElementById(&quo…...

MySQL列表分区分区表

什么是列表分区分区表&#xff1f; 列表分区是一种根据某个列的离散值将表数据分割成多个分区的分区方式。在列表分区中&#xff0c;每个分区都有自己的离散值集合&#xff0c;当插入数据时&#xff0c;MySQL会根据指定的列值将数据分配到相应的分区中。这种分区方式可以使得表…...

qt打包程序方法(非常好用)

1.下载 Index of /official_releases/qt-installer-framework/4.6.1 bi...

IP地址管理:优化网络布局与提升效率

在日益复杂的网络环境中&#xff0c;IP地址管理成为了网络管理员日常工作中不可或缺的一部分。有效的IP地址管理不仅能够优化网络布局&#xff0c;提升网络运行效率&#xff0c;还能确保网络安全和稳定性。本文将探讨IP地址管理的重要性、实施策略以及最佳实践。 一、IP地址管…...

老古董Lisp实用主义入门教程(5):好奇先生用Lisp探索Lisp

鲁莽先生什么都不管 鲁莽先生打开电脑&#xff0c;安装一堆东西&#xff0c;噼里啪啦敲了一堆代码&#xff0c;叽里呱啦说了一堆话&#xff0c;然后累了就回家睡觉了。 这可把好奇先生的兴趣勾起来&#xff0c;他怎么也睡不着。好奇先生打开电脑&#xff0c;看了看鲁莽先生留…...

linux文件——用户缓冲区——概念深度理解、IO模拟实现

前言&#xff1a;本篇文章主要讲解文件缓冲区。 讲解的方式是通过抛出问题&#xff0c; 然后通过分析问题&#xff0c; 将缓冲区的概念与原理一步一步地讲解。同时&#xff0c; 本节内容在最后一部分还会带友友们模拟实现一下c语言的printf&#xff0c; fprintf接口&#xff0c…...

Selenium模拟鼠标滚动页面:实现自动化测试中的页面交互

Selenium模拟鼠标滚动页面&#xff1a;实现自动化测试中的页面交互 在进行网页自动化测试时&#xff0c;经常需要模拟用户的滚动行为来加载更多内容或触发页面上的某些交互。Selenium WebDriver提供了强大的工具来模拟这些用户行为&#xff0c;包括鼠标滚动。本文将介绍如何使…...

Eureka原理与实践:构建高效的微服务架构

Eureka原理与实践&#xff1a;构建高效的微服务架构 Eureka的核心原理Eureka Server&#xff1a;服务注册中心Eureka Client&#xff1a;服务提供者与服务消费者 Eureka的实践应用集成Eureka到Spring Cloud项目中创建Eureka Server创建Eureka Client&#xff08;服务提供者&…...

OpenJDK 和 OracleJDK 的区别、下载方式

OpenJDK 和 OracleJDK 都是 Java 开发套件 (JDK)&#xff0c;用于开发和运行 Java 应用程序。它们之间的主要区别如下&#xff1a; 许可证和使用限制&#xff1a; OpenJDK&#xff1a;由 OpenJDK 社区开发和维护&#xff0c;基于 GPL v2 with Classpath Exception 许可证&#…...

arthas源码刨析:arthas-core (2)

文章目录 attach JVMagent**ArthasBootstrap** arthas-core的启动可以从上一篇做参考 参考 pom&#xff0c;即启动是调用的 Arthas 的 main 方法 attach JVM JVM提供了 Java Attach 功能&#xff0c;能够让客户端与目标JVM进行通讯从而获取JVM运行时的数据&#xff0c;甚至可以…...

【分享】格力手机色界G0245D 刷REC、root、 救砖、第三方rom教程和资源

开门见山 帮别人弄了一台 格力G0245D&#xff0c;把找到的资源和教程分享一下 教程 这个写的很详细了格力手机色界G0245D-Root-最简指南 不过教程里刷rec这一步漏了加上电源键&#xff0c;加上就行了。 附加参考&#xff1a;格力手机2刷机 格力手机二代刷机 GREE G0215D刷机…...

开学必备清单来啦!大学好物合集推荐!每一个都能帮你提升幸福感

随着开学季的到来&#xff0c;好多学生都在忙着准备各类学习与生活必需品&#xff0c;以迎接新的大学生活到来。以下是一些开学季必备的好物推荐&#xff0c;每一个都很实用&#xff0c;可以帮你提升学习和生活的幸福感&#xff01; 1、西圣电容笔 一句话推荐&#xff1a;公认…...

已解决:javax.xml.transform.TransformerFactoryConfigurationError 异常的正确解决方法,亲测有效!!!

1. 问题描述 javax.xml.transform.TransformerFactoryConfigurationError 是在使用 Java 的 XML 处理库时&#xff0c;配置 TransformerFactory 出错时抛出的异常。通常&#xff0c;这个异常发生在应用程序试图创建一个 TransformerFactory 实例时&#xff0c;由于无法找到合适…...

商品价格与优惠信息在API返回值中的位置

在API返回值中&#xff0c;商品价格与优惠信息的具体位置可能因不同的电商平台和API设计而有所不同。然而&#xff0c;一般来说&#xff0c;这些信息会以结构化的方式呈现&#xff0c;通常包含在一个包含多个字段的JSON对象或XML文档中。以下是根据多个电商平台&#xff08;如阿…...

Oracle Index Partition索引分区的管理

Oracle索引分区的管理是数据库管理中的重要任务之一&#xff0c;它涉及索引的创建、维护、重建以及优化等多个方面。以下是对Oracle索引分区管理的详细解析&#xff1a; 一、索引分区的概念 索引分区&#xff08;Partitioned Index&#xff09;是针对分区表而言的&#xff0c…...

统信UOS系统访问windows共享目录

问题背景 当我们使用UOS系统的时候&#xff0c;想要访问windows系统的一些资料并将其拷贝下来使用的话&#xff0c;应该怎么操作呢&#xff1f;这个需求是可以实现的&#xff0c;统信UOS系统是基于Linux系统开发的&#xff0c;Linux系统和windows系统之间可以通过SMB协议来共享…...

单一职责原则与REST API设计:如何定义清晰的资源与职责

在软件设计中&#xff0c;单一职责原则&#xff08;Single Responsibility Principle, SRP&#xff09;和 REST API 设计是两个重要的概念。单一职责原则是一种设计原则&#xff0c;它强调一个类或模块应当只有一个单一的职责&#xff0c;这有助于提高系统的可维护性和扩展性。…...

JAVA IO模型

我们在平常开发过程中接触最多的就是 磁盘 IO&#xff08;读写文件&#xff09; 和 网络 IO&#xff08;网络请求和响应&#xff09;。从应用程序的视角来看的话&#xff0c;我们的应用程序对操作系统的内核发起 IO 调用&#xff08;系统调用&#xff09;&#xff0c;操作系统负…...

《C/C++实战专栏》介绍

&#x1f680; 前言 本文是《C/C实战专栏》专栏的说明贴&#xff08;点击链接&#xff0c;跳转到专栏主页&#xff0c;欢迎订阅&#xff0c;持续更新…&#xff09;。 专栏介绍&#xff1a;以多年的开发实战为基础&#xff0c;总结并讲解一些的C/C基础与项目实战进阶内容&…...

前端跨域2

前端跨域2 前端跨域解决方案&#xff08;11种方案&#xff09; 1.JSONP跨域解决方案的底层原理 script、img、link、iframe...<script src"https://cdn.bootcss.com/jquery/3.4.1/core.js"></script>// 这个就是因为script标签没有跨域限制&#xff0…...

electron仿微信,新建贴合窗口

说明 在写electron项目时&#xff0c;只有一个主窗口不足以满足需求&#xff0c;我们通常还会打开很多个窗口。 怎么打开一个子窗口像微信的聊天界面一样&#xff0c;全贴合在一起&#xff0c;看起来像一个整体呢&#xff1a; 分析 这个窗口有点像element ui中的抽屉(drawe…...

uniapp微信小程序 分享功能

uniapp https://zh.uniapp.dcloud.io/api/plugins/share.html#onshareappmessage export default {onShareAppMessage(res) {if (res.from button) {// 来自页面内分享按钮console.log(res.target)}return {title: 自定义分享标题,path: /pages/test/test?id123}} }需要再真机…...

Java实现数据库数据到Excel的高效导出

在数据处理和分析工作中&#xff0c;经常需要将数据库中的数据导出到Excel文件中。本文将提供一个Java实现的示例&#xff0c;展示如何边从数据库读取数据&#xff0c;边将其写入Excel文件&#xff0c;同时注重内存效率。 环境配置&#xff1a; Java 1.8 或更高版本MySQL 5.7…...

python之matplotlib (8 极坐标)-圆与心

极坐标 极坐标图像的绘制类似于三维图像的绘制&#xff0c;只需要将projection参数由3d改为polar即可。 import numpy as np import matplotlib.pyplot as plt figplt.figure() axfig.add_subplot(projectionpolar)theta np.linspace(0, 2 * np.pi, 100) r np.sin(the…...

Kubernetes Pod调度基础

在传统架构中&#xff0c;我们总在考虑或者面临一个问题&#xff0c;我们的应用需要部署在哪里&#xff0c;我们的应用下载在哪里运行着?有一个服务不可访问了&#xff0c;去哪里排査?诸如此类的问题总是会出现在工作中。 但是在使用 Kubernetes 部署应用后&#xff…...

80页WORD方案深入了解大数据治理+大数据资产管理+数据运营

文档是一份80页可编辑的企业大数据智能管理与治理平台建设项目技术方案标书文档&#xff0c;涵盖了从项目需求分析、技术方案、建设方案、服务方案到类似案例介绍等多个方面的内容。 1. 项目需求分析 项目建设目标&#xff1a;旨在实现数据的可视化&#xff0c;确保决策者、行…...

OCC安装、VS2019编译运行(新手教程)

OCC安装、VS2019编译运行(新手教程) 简介1、OpenCasCade的下载和安装官网下载安装2、OpenCasCade的运行和编译(VS2019)修改配置文件环境变量配置3、验证代码项目配置运行cpp文件简介 作为一个刚接触OCC的程序员,可能会不知所措,无从下手,甚至在OCC的安装使用都困难重重…...

Mojo 实现排序功能

sort排序 实现排序功能。 您可以从包中导入这些 API。例如&#xff1a;algorithm from algorithm.sort import sortpartition partition[type: AnyRegType, cmp_fn: fn[AnyRegType]($0, $0, /) capturing -> Bool](buff: Pointer[*"type", 0], k: Int, size: …...

信息学奥赛一本通编程启蒙题解(3031~3035)

前言 Hello大家好我是文宇 正文 3031 #include<bits/stdc.h> using namespace std; double n,m,x; int main(){cin>>n>>m;xn-m*0.8;cout<<fixed<<setprecision(2)<<x;return 0; } 3032 #include<bits/stdc.h> using namespace…...

字符函数内存函数———C语言

字符分类函数 头文件&#xff1a; ctype.h 函数功能iscntrl判断字符是否为控制字符isspace判断字符是否为空白字符&#xff08;空格&#xff0c;换页、换行、回车、制表符或垂直制表符&#xff09;isdigit判断字符是否为十进制数字isxdigit判断字符是否为十六进制数字(0-9)(a…...

图片库网站建设/企业邮箱账号

spring boot2.x下 使用feign&#xff0c;注解EnableFeignClients 找不到的解决方法 在spring boot1.x下&#xff0c;使用注解EnableFeignClients&#xff0c;jar包依赖是&#xff1a; <!-- feign远程调用 --><dependency><groupId>org.springframework.cloud…...

石家庄网站开发费用/网络营销外包收费

骨牌铺方格 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 747 Accepted Submission(s): 479 Problem Description在2n的一个长方形方格中,用一个1 2的骨牌铺满方格,输入n ,输出铺放方案的总数.例如n3时,为2 3方格&…...

做网站电脑配置/网站推广专家十年乐云seo

Sql代码: grant all privileges on *.* to root"%" identified by abc with grant option; flush privileges; 其中上面两行代码的意思是给从任意ip地址连接的用户名为root&#xff0c;密码为abc的用户赋予所有的权限。其中的"%"为任意的ip地址&#xff…...

wordpress模版开发教程/淘宝关键词怎么做排名靠前

使用方法&#xff1a;将下面的代码保存为jb51.vbs然后拖动你保存在本地的htm页面&#xff0c;拖放在这个vbs即可备注&#xff1a;URL筛选小工具防止出现错误On Error Resume Nextvbs代码开始----------------------------------------------Dim p,s,reIf Wscript.Arguments.Cou…...

vps被攻击网站打不开ping值高/新闻头条今日新闻下载

Linux 内核在 2015 年就已支持 x86/x86_64 的 UEFI 镜像内存功能&#xff0c;而现在&#xff0c;华为正在努力为 AArch64/Arm64架构引入该功能。周四&#xff0c;华为工程师 Wupeng Ma 发布了最新的补丁集&#xff0c;用于支持 AArch64/Arm64 硬件的 Linux 镜像内存支持。UEFI …...

太原网站排名公司哪家好/推广引流平台app大全

据说在韩国流传着这样一句话——韩国人一生有三件事情无法避免&#xff1a;死亡、税收和三星。而那个让韩国人都离不开三星的人——三星集团会长李健熙在上周日去世了。同样&#xff0c;他自己也没能离开死亡、税收&#xff08;高额遗产税&#xff09;和三星&#xff08;三星首…...