js中script的上下放置区别,Dom的增删改创建操作实例分析


Posted in Javascript onDecember 16, 2019

本文实例讲述了js中script的上下放置区别,Dom的增删改创建操作。分享给大家供大家参考,具体如下:

回顾

javascript分为三部分:

1、ECMAScript5.0 es6(阮一峰) es7 es8    es6中有类的概念

声明变量 var  let(es6中语法)
内置函数 Date Math.random

if else  switch while do-while  for

2、DOM  Document Object Model

获取DOM事件的三种方式

  • getElementById()
  • getElementsByTagName()
  • getElementsByClassName()

DOM的三步走

  • ①、事件对象
  • ②、事件、
  • ③、事件驱动

值操作: <div></div> too liang
oDiv.innerText='too liang';仅仅设置文本
oDiv.innerHTML='<h2>too liang</h2>';文本和标签一起渲染
oInput.value='alex';仅仅是对表单控件有效

标签属性操作;

设置类名:oDiv.className+=' active';追加类名、
设置id:oDiv.id='box';

样式操作:

oDiv.style.(css中所有的样式属性)

注意驼峰体:如果margin-left 使用js的时候marginLeft

3、BOM

<script></script>在head和body中放置的区别

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <script>
    //加载顺序:1DOM元素加载 2图片加载
    //1等待DOM和图片资源加载完成之后才调用window.onload后面的方法
    //2事件覆盖事件,也即同时存在多个window.noload时,后面的覆盖前面的
    window.onload=function () {
      // var oBtn=document.getElementById('btn');
      // console.log(oBtn);
      function $(idName){
        return document.getElementById(idName);
      }
      $('btn').onclick=function(){



。。。。。。
      };
    }
  </script> <!--没有操作DOM时可以将script放在这里面,如果要使用DOM的相关操作,使用window.onload,建议最好写在body里面-->
</head>

DOM的增删改查

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<button id="btn">追加</button>
<button id="del">删除</button>
<div id="box">
  <p>测试段落</p>
</div>
  <script>
    //加载顺序:1DOM元素加载 2图片加载
    //1等待DOM和图片资源加载完成之后才调用window.onload后面的方法
    //2事件覆盖现在,同时存在多个window.noload时,后面的覆盖前面的
    window.onload=function () {
      // var oBtn=document.getElementById('btn');
      // console.log(oBtn);
      function $(idName){
        return document.getElementById(idName);
      }
      $('btn').onclick=function(){
        //1DOM的创建
        var oP=document.createElement('p');
        //2 DOM的追加
        $('box').appendChild(oP);
        //3 DOM的修改
        oP.innerText='alex';
        oP.id='p1';//设置id
        var oA=document.createElement('abc');//自定义创建
        oA.innerText='321';
        oA.id='abc';
        $('box').insertBefore(oA,oP);//在oA之前插入
      };
      //4 DOM的删除操作
      $('del').onclick=function(){
        $('box').removeChild($('p1'));
        $('box').removeChild($('abc'));
      }
    }
  </script>
</body>
</html>

应用场景分析

如果是一开始页面有初始化渲染开销;应用:频繁的切换:display:none|block  或者 追加className 删除className

如果是DOM的创建和删除 如果你是频繁的切换,对DOM的性能消耗很大,所以最好应用在少量的切换上面

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JS提交并解析后台返回的XML的代码
Nov 03 Javascript
js实现的日期操作类DateTime函数代码
Mar 16 Javascript
JavaScript中去掉数组中的重复值的实现方法
Aug 03 Javascript
javascript函数作用域学习示例(js作用域)
Jan 13 Javascript
jQuery的css() 方法使用指南
May 03 Javascript
JS延时器提示框的应用实例代码解析
Apr 27 Javascript
JS数组去掉重复数据只保留一条的实现代码
Aug 11 Javascript
ajax级联菜单实现方法实例分析
Nov 28 Javascript
解决vue页面DOM操作不生效的问题
Mar 17 Javascript
vue 组件中slot插口的具体用法
Apr 03 Javascript
JS实现判断图片是否加载完成的方法分析
Jul 31 Javascript
js实现带积分弹球小游戏
Jul 21 Javascript
JavaScript 浏览器对象模型BOM原理与常见用法实例分析
Dec 16 #Javascript
javascript自定义右键菜单插件
Dec 16 #Javascript
js中的面向对象之对象常见创建方法详解
Dec 16 #Javascript
js实现数字滚动特效
Dec 16 #Javascript
NUXT SSR初级入门笔记(小结)
Dec 16 #Javascript
js实现内置计时器
Dec 16 #Javascript
js实现秒表计时器
Dec 16 #Javascript
You might like
php将日期格式转换成xx天前的格式
2015/04/16 PHP
利用PHP将图片转换成base64编码的实现方法
2016/09/13 PHP
Thinkphp结合ajaxFileUpload实现异步图片传输示例
2017/03/13 PHP
完美解决thinkphp唯一索引重复时出错的问题
2017/03/31 PHP
YII2框架中日志的配置与使用方法实例分析
2020/03/18 PHP
页面元素绑定jquery toggle后元素隐藏的解决方法
2014/03/27 Javascript
JavaScript Array对象扩展indexOf()方法
2014/05/09 Javascript
JavaScript中实现异步编程模式的4种方法
2014/09/24 Javascript
jquery实现在网页指定区域显示自定义右键菜单效果
2015/08/25 Javascript
js 求时间差的实现代码
2016/04/26 Javascript
使用jQuery制作遮罩层弹出效果的极简实例分享
2016/05/12 Javascript
JS判断浏览器是否安装flash插件的简单方法
2016/09/13 Javascript
详解JavaScript中this的指向问题
2017/01/20 Javascript
Jquery与Bootstrap实现后台管理页面增删改查功能示例
2017/01/22 Javascript
详解vue组件通信的三种方式
2017/06/30 Javascript
form表单序列化详解(推荐)
2017/08/15 Javascript
关于vue中watch检测到不到对象属性的变化的解决方法
2018/02/08 Javascript
深入理解js 中async 函数的含义和用法
2018/05/13 Javascript
vue中倒计时组件的实例代码
2018/07/06 Javascript
使用nodejs分离html文件里的js和css详解
2019/04/12 NodeJs
在mpvue框架中使用Vant WeappUI组件库的注意事项【推进】
2019/06/09 Javascript
更优雅的微信小程序骨架屏实现详解
2019/08/07 Javascript
JavaScript中交换值的10种方法总结
2020/08/18 Javascript
如何基于viewport vm适配移动端页面
2020/11/13 Javascript
[35:34]Liquid vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python优化技巧之利用ctypes提高执行速度
2016/09/11 Python
PyQt5内嵌浏览器注入JavaScript脚本实现自动化操作的代码实例
2019/02/13 Python
在pytorch中为Module和Tensor指定GPU的例子
2019/08/19 Python
python用类实现文章敏感词的过滤方法示例
2019/10/27 Python
解决TensorFlow训练内存不断增长,进程被杀死问题
2020/02/05 Python
利用CSS3的定位页面元素
2009/08/29 HTML / CSS
Java里面如何创建一个内部类的实例
2015/01/19 面试题
党支部三严三实对照检查材料思想汇报
2014/09/29 职场文书
个人先进材料范文
2014/12/30 职场文书
学校青年志愿者活动总结
2015/05/06 职场文书
如何使用JavaScript策略模式校验表单
2021/04/29 Javascript