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

成都官网优化多少钱成都抖音seo

成都官网优化多少钱,成都抖音seo,wordpress折叠目录,网站建设项目立项登记 表1、DOM概念 DOM 是 JavaScript 操作网页的接口,全称为“文档对象模型”(Document Object Model) 当网页被加载时,浏览器将网页转为一个DOM,并用JS进行各种操作。比如:改变页面中的HTML 元素及其属性&#x…

1、DOM概念

         DOM JavaScript 操作网页的接口,全称为“文档对象模型”(Document Object Model)
当网页被加载时,浏览器将网页转为一个DOM,并用JS进行各种操作。比如:改变页面中的HTML 元素及其属性,改变页面中的CSS 样式,对页面中的事件做出响应。

         DOM操作就是为了用JS程序代替人工直接修改HTML和CSS代码

        掌握基本的概念和函数即可,后面会用JS库或者框架来简化操作,直接用原生JS来实现动态网页的机会不多,比如:jQuery和Vue

2、DOM Tree树状结构 

        浏览器会根据 DOM 模型,将结构化文档HTML解析成一系列的节点,再由这些节点组成一个树状结构(DOM Tree)

最常用的节点类型:

 (1) 文档节点 document Nodes

        表示整个文档 ,是DOM操作的起点

(2)元素节点 elemen Nodes

        表示HTML元素,例如<div>等

(3)属性节点 attribute Nodes

         表示HTML 元素的属性

(4)文本节点 text Nodes

        表示HTML 元素内的文本 

 节点间的关系:

        节点具有父子关系和同级关系等。除了根元素没有父节点,其他元素都有父节点,一个父节点可以有多个子节点

3、DOM操作 

(1)获取已有的节点 

1.getElementsByTagName ()

          通过搜索 HTML 标签名来获取节点,返回符合条件的元素。它的返回值是一个类似数组的对象 

        若有多个相同标签,返回含有多个节点的类数组对象

eg:

<body>

        <p class="pp">我是段落1</p>

        <p class="pp">我是段落2</p>

        <p class="pp" id="p3">我是段落3</p>

        <script>

        const p1 = document.getElementsByTagName("p");  

        console.log(p1);

        console.log(p1[0]);//输出p标签的第一个

        console.log(p1[1]);//输出p标签的第二个

        </script>

</body>

2.getElementsByClassName()

         通过class名来获取节点, 返回一个类似数组的对象,包括了所有 class 名字符合指定条件的元素。

        若有多个相同class,返回含有多个节点的类数组对象

eg:  

<body>

        <p class="pp">我是段落1</p>

        <p class="pp">我是段落2</p>

        <p class="pp" id="p3">我是段落3</p>

        <script>

        const p2 = document.getElementsByClassName("pp");

        console.log(p2);

        </script>

</body>

3.getElementById()

         通过id名来获取节点,直接返回匹配指定 id 属性的元素节点(而不是类似数组的对象) 

eg:

<body>

        <p class="pp">我是段落1</p>

        <p class="pp">我是段落2</p>

        <p class="pp" id="p3">我是段落3</p>

        <script>

        const p3 = document.getElementById("p3");

        console.log(p3);

        </script>

</body>

4.querySelectorAll()

        与 querySelector 用法类似,区别是返回一个NodeList 对象,包含所有匹配给定选择器的节点 

         通过CSS选择器获取节点,返回NodeList对象(包含所有匹配给定选择器的节点)

eg:

<body>

        <p class="pp">我是段落1</p>

        <p class="pp">我是段落2</p>

        <p class="pp" id="p3">我是段落3</p>

        <script>

        const p4 = document.querySelectorAll(".pp");

        console.log(p4);

        </script>

</body>

5. querySelector()

        接受一个 CSS 选择器作为参数,返回匹配该选择器的元素节点。如果有多个节点满足匹配条件,则返回第一个匹配的节点。

         通过CSS选择器获取节点,返回第一个匹配上的节点 

eg: 

<body>

        <p class="pp">我是段落1</p>

        <p class="pp">我是段落2</p>

        <p class="pp" id="p3">我是段落3</p>

        <script>

        const p5 = document.querySelector(".pp");

        console.log(p5);

        </script>

</body>

(2)属性的查看与修改 

1.id 属性

        来读写当前元素节点的 id 名。 

eg:

<body>

    <p class="pp">我是段落1</p>

    <p class="pp">我是段落2</p>

    <p class="pp" id="p3">我是段落3</p>

    <script> 

        const p = document.getElementById("p3");

        console.log(p);

        console.log(p.id);

        p.id = "_p_3";

        console.log(p.id);

   </script>

</body>

以上代码获取id属性后修改id名为 _p_3

2.className 属性

        用来读写当前元素节点的 class 名,与id属性使用方法类似

eg: 

<body>

    <p class="pp">我是段落1</p>

    <p class="pp">我是段落2</p>

    <p class="pp" id="p3">我是段落3</p>

    <script> 

        const p = document.getElementById("p3");

        console.log(p);

        console.log(p.className);

        p.className = "pp jj yy xx";

        console.log(p.className);

   </script>

</body>

 以上代码获取class属性后修改class 名为pp jj yy xx

3.classList 属性 

        是一个对象

有下列方法:

  • add() :增加一个 class 名。

eg: 

         p4.classList.add("zz");

  • remove() :移除一个 class 名。

eg:

        p4.classList.remove("xx");

  • contains() :检查当前元素是否包含某个 class 名,返回布尔值。

 eg:

        console.log(p4.classList.contains("jj")); 

4.innerHTML 

        返回一个字符串,等同于该元素包含的所有HTML代码。

        该属性可读写,常用来设置某个节点的内容。它能改写所有元素节点的内容,包括 <HTML> 和 <body> 元素。 

eg:

<body>

        <img src="../xg.png" alt="图片加载失败" id="img1">;

        <script>

        const i = document.getElementById("img1");  

        i.src = "../th.jpg";  

        console.log("照片:"+ i.src);

        </script>

</body>

修改前: 

修改后: 

5.innerText

         和innerHTML类似,不同的是innerText无法识别元素,会直接渲染成字符串。 

(3)新节点的创建

1.createElement ()

        用来生成标签节点,并返回该节点。 

eg: 

 var p4 = document.createElement("p");

2.createTextNode()

        用来生成文本节点,并返回该节点,它的参数是文本节点的内容。 

eg:

 var t4 = document.createTextNode("我是段落5");

3. createAttribute ()

        生成一个新的属性节点,并返回该节点。可通过该节点的value属性,对其赋值。

var a4 = document.createAttribute("class"); // 创建属性节点

a4.value = "fruit";  // 为属性节点赋值

(4)新节点的插入

1. appendChild ()

         为标签节点增加子节点

eg:

p4.appendChild(t4); 

 将文本节点作为子节点,加入新建的<p>标签节点下面

2. setAttributeNode()

        为标签节点插入属性节点,比如name,class,id,  style等,若此属性节点已经设置到别的元素节点,则控制台会报错。

eg:

p4.setAttributeNode(a4); 

 将属性节点插入新建的<p>标签节点

 3.插入<bady>标签中

        最后不要忘了将已经配置号的<p>标签节点,作为子节点,插入body节点中

eg:

        const body_node = document.getElementsByTagName("body")[0];

        body_node.appendChild(p4);

 4、定时器函数

(1)setInterval 函数

        指定某个任务每隔一段时间就执行一次无限次的定时执行

语法格式: 

 setInterval(函数名, 时长(单位为ms));

eg: 

<body>

    <script>

        function func1(){

            console.log("定时任务: 喝水!");

        }

        setInterval(func, 1000);

   </script>

</body>

每隔1000ms执行一次定时任务(无限重复) 

(2)setTimeout 函数

        用来指定某个函数在多少毫秒之后执行(仅执行一次)

        它返回一个整数表示定时器的编号,如果突然想撤销这个定时任务,可以用这个编号取消。若要定时执行多次,只需多次调用setTimeout 即可。 

语法格式: 

<body>

    <script>

        function func1(){

            console.log("起床啦!");

        }

        const time_id = setTimeout(func2, 5000);

        clearTimeout(time_id);  // 临时通知该定时器取消任务

   </script>

</body>

5秒以后(仅仅)执行一次定时任务!返回的是该定时器唯一编码,可利用该编码临时取消任务 

5、 CSS样式操作

(1)方法一 

        直接独立修改节点style下面的各种属性
ps:

        属性名与CSS键名有区别,主要是小写变大写 

 eg: 

<body>

    <div class="box"  id="div1">利用js修改CSS样式</div>

    <script>

        e.style.backgroundColor = "pink";

        e.style.color = "white";

        e.style.fontSize = "30px";

   </script>

</body>

 运行后:

(2)方法二 

        修改节点的CSS代码(通过反引号实现) 

eg:

<body>

    <div class="box"  id="div1">利用js修改CSS样式</div>

    <script>

        e.style.cssText =

        `

            background-color: gray;

            color:pink;

            font-size: 50px;

        `;

   </script>

</body>

运行后:

http://www.dt0577.cn/news/52792.html

相关文章:

  • 破解wordpress可见网站站长seo推广
  • 把网站放到域名上免费的关键词优化工具
  • 顶尖网站建设培训机构学校
  • 专门做眼镜的网站网络推广方法技巧
  • 自己怎做网站每天新闻早知道
  • 温州市建设小学大南网站seo网站内部优化
  • 做色情网站的人是怎么被抓的网络营销发展现状与趋势
  • 做网站版权所有怎么写网络推广都是收费
  • 苏州党员两学一做网站关键字c语言
  • 5944免费空间上搭建网站seo顾问服务 品达优化
  • 一般网站可以自己做商城吗石家庄seo推广
  • 期末作业做网站的心得体会国内设计公司前十名
  • wordpress 代码质量北京公司排名seo
  • 免费推广网站58网络公关公司联系方式
  • 科技类网站简介怎么做今日国际新闻热点
  • 自己建设的网站打开慢百度搜索引擎广告位的投放
  • 网站的企业风采怎么做搜索引擎关键词排名优化
  • 缙云政府网站建设方案游戏推广引流
  • 罗湖网站制作费用河南推广网站
  • 做外贸哪个网站好seo搜索引擎优化心得体会
  • 网站开发在线教程成都关键词排名推广
  • 江西医疗网站备案前置审批今天刚刚发生的重大新闻
  • seo课程培训入门seo公司资源
  • 删除的网站做404一站式软文发布推广平台
  • php做网站项目的流程东莞企业推广网站制作
  • 测试网站怎么做的如何做好网络推广销售
  • 番禺网站开发哪家专业网站网址大全
  • 南京网站建设包括哪些福州百度seo代理
  • 策划与设计一个电子商务网站石家庄关键词优化软件
  • 做破解网站合法谷歌浏览器安卓版