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获取select默认选中的Option并不是当前选中值
May 07 Javascript
如何解决谷歌浏览器下jquery无法获取图片的尺寸
Sep 10 Javascript
JS实现浏览器状态栏文字闪烁效果的方法
Oct 27 Javascript
js实现仿微博滚动显示信息的效果
Dec 21 Javascript
AngularJS 如何在控制台进行错误调试
Jun 07 Javascript
判断js的Array和Object的实现方法
Aug 29 Javascript
JS使用面向对象技术实现的tab选项卡效果示例
Feb 28 Javascript
基于js的变量提升和函数提升(详解)
Sep 17 Javascript
浅析前端路由简介以及vue-router实现原理
Jun 01 Javascript
Vue表情输入组件 微信face表情组件
Feb 11 Javascript
node.js制作一个简单的登录拦截器
Feb 10 Javascript
node.js 使用 net 模块模拟 websocket 握手进行数据传递操作示例
Feb 11 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
Fatal error: session_start(): Failed to initialize storage module: files问题解决方法
2014/05/04 PHP
PHP使用Alexa API获取网站的Alexa排名例子
2014/06/12 PHP
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
2018/12/08 PHP
一个cssQuery对象 javascript脚本实现代码
2009/07/21 Javascript
IE中radio 或checkbox的checked属性初始状态下不能选中显示问题
2009/07/25 Javascript
javascript 页面划词搜索JS
2009/09/28 Javascript
AspNet中使用JQuery上传插件Uploadify详解
2015/05/20 Javascript
使用DNode实现php和nodejs之间通信的简单实例
2015/07/06 NodeJs
JS+CSS实现仿msn风格选项卡效果代码
2015/10/22 Javascript
详解JavaScript中的Unescape()和String() 函数
2015/11/09 Javascript
JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法
2016/08/05 Javascript
JavaScript 函数模式详解及示例
2016/09/07 Javascript
微信小程序遇到修改数据后页面不渲染的问题解决
2017/03/09 Javascript
小程序自定义日历效果
2018/12/29 Javascript
新手快速上手webpack4打包工具的使用详解
2019/01/28 Javascript
Angular 多级路由实现登录页面跳转(小白教程)
2019/11/19 Javascript
利用Vue的v-for和v-bind实现列表颜色切换
2020/07/17 Javascript
Vue props中Object和Array设置默认值操作
2020/07/30 Javascript
Python制作豆瓣图片的爬虫
2017/12/28 Python
Tensorflow的可视化工具Tensorboard的初步使用详解
2018/02/11 Python
python之django母板页面的使用
2018/07/03 Python
python3.5绘制随机漫步图
2018/08/27 Python
ubuntu 16.04下python版本切换的方法
2019/06/14 Python
Pyspark读取parquet数据过程解析
2020/03/27 Python
PyQt5实现仿QQ贴边隐藏功能的实例代码
2020/05/24 Python
python3处理word文档实例分析
2020/12/01 Python
全球知名旅游社区巴西站点:TripAdvisor巴西
2016/07/21 全球购物
美国二手奢侈品寄售网站:TheRealReal
2016/10/29 全球购物
英国异国风情旅游网站:Travel Talk Tours(团体旅游、探险旅游、帆船假期)
2018/07/26 全球购物
实习生体会的自我评价范文
2013/11/28 职场文书
机关门卫制度
2014/02/01 职场文书
继承公证书格式
2015/01/26 职场文书
患者身份识别制度
2015/08/06 职场文书
小学音乐课歌曲《堆雪人》教学反思
2016/02/18 职场文书
python自动统计zabbix系统监控覆盖率的示例代码
2021/04/03 Python
利用js实现简单开关灯代码
2021/11/23 Javascript