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 相关文章推荐
jQuery Div中加载其他页面的实现代码
Feb 27 Javascript
Javascript学习笔记7 原型链的原理
Jan 11 Javascript
jquery关于页面焦点的定位(文本框获取焦点时改变样式 )
Sep 10 Javascript
javascript图片预加载实例分析
Jul 16 Javascript
使用bootstrap typeahead插件实现输入框自动补全之问题及解决办法
Jul 07 Javascript
jQuery EasyUI编辑DataGrid用combobox实现多级联动
Aug 29 Javascript
js+div+css下拉导航菜单完整代码分享
Dec 28 Javascript
手把手教你搭建ES6的开发运行环境
Jul 11 Javascript
JS实现的全排列组合算法示例
Oct 09 Javascript
vuejs点击class变化的实例
Sep 05 Javascript
JS canvas绘制五子棋的棋盘
May 28 Javascript
使用apifm-wxapi快速开发小程序过程详解
Aug 05 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 可阅读随机字符串代码
2010/05/26 PHP
yii操作session实例简介
2014/07/31 PHP
php实现微信企业号支付个人的方法详解
2017/07/26 PHP
PHP封装XML和JSON格式数据接口操作示例
2019/03/06 PHP
php curl操作API接口类完整示例
2019/05/21 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
2019/08/09 PHP
JavaScript中String和StringBuffer的速度之争
2010/04/01 Javascript
用RadioButten或CheckBox实现div的显示与隐藏
2013/09/21 Javascript
js跨域访问示例(客户端/服务端)
2014/05/19 Javascript
Javascript中数组sort和reverse用法分析
2014/12/30 Javascript
微信小程序实现流程进度的图样式功能
2018/01/16 Javascript
js canvas实现红包照片效果
2018/08/21 Javascript
js中的数组对象排序分析
2018/12/11 Javascript
vue自定义指令directive的使用方法
2019/04/07 Javascript
Javascript实现秒表计时游戏
2020/05/27 Javascript
webpack安装配置与常见使用过程详解(结合vue)
2020/06/01 Javascript
解决echarts图表使用v-show控制图表显示不全的问题
2020/07/19 Javascript
用实例解释Python中的继承和多态的概念
2015/04/27 Python
python 获取指定文件夹下所有文件名称并写入列表的实例
2018/04/23 Python
python3利用ctypes传入一个字符串类型的列表方法
2019/02/12 Python
Python学习笔记之Django创建第一个数据库模型的方法
2019/08/07 Python
Python Django 命名空间模式的实现
2019/08/09 Python
适合Python初学者的一些编程技巧
2020/02/12 Python
Python图像处理库PIL的ImageEnhance模块使用介绍
2020/02/26 Python
浅谈Python中re.match()和re.search()的使用及区别
2020/04/14 Python
PyCharm中如何直接使用Anaconda已安装的库
2020/05/28 Python
用python获取txt文件中关键字的数量
2020/12/24 Python
利用CSS3实现平移动画效果示例代码
2016/10/12 HTML / CSS
Html5监听手机摇一摇事件的实现
2019/11/07 HTML / CSS
Electrolux伊莱克斯巴西商店:家用电器、小家电和配件
2018/05/23 全球购物
什么是Rollback Segment
2013/04/22 面试题
会计系中文个人求职信
2013/12/24 职场文书
财务会计毕业生个人求职信
2014/02/03 职场文书
食品科学与工程专业毕业生求职信范文
2014/07/21 职场文书
房屋租赁授权委托书范本
2014/09/20 职场文书
“六查”、“三学”、“三干”查摆问题整改措施
2014/09/27 职场文书